找到你要的答案

Q:Form not getting posted

Q:表格未贴

when i try to click on submit button my form doesn't post or reload on submission why so?

   <form class="form1">
     <input type="text" value="ABC"/>
     <input type="text" value="DEF"/>
     <select name="acces_specfi" class="selectpicker" data-size="10" data-style="btn-info">
                    <option value="public">public</option>
                    <option value="private">private</option>
                </select>
    <button type="submit" class="btn-print"/>

--JS--

 jQuery('.btn-print').click(function(event){
                jQuery(".form1").find(':input').each(function(){
                    if(jQuery(this).val() && jQuery(this).attr('type') !== 'hidden'){

                        jQuery.trim(jQuery(this).replaceWith('<u>'+jQuery(this).val()+'</u>'));
                    }
                    else if(jQuery(this).val()===''){
                        jQuery(this).replaceWith('________');
                    }
                });
});

---Update--

this works

   jQuery(".form1").find(':input').each(function(){

                    if(jQuery(this).attr('type') !== 'hidden'){
                        jQuery(this).hide();

                        jQuery(this).after('<u>'+jQuery(this).val()+'</u>');
                    }

                });

but all select option are shown in form of list i don't know why i think because of i'm using bootsrap select

other then select normal text input works great

---Update-----

i replace it with normal select its working great i think because bootstrap select adds extra button and div thats what was causing issue

当我尝试点击提交按钮我的表单不张贴或重装提交为什么呢?

   <form class="form1">
     <input type="text" value="ABC"/>
     <input type="text" value="DEF"/>
     <select name="acces_specfi" class="selectpicker" data-size="10" data-style="btn-info">
                    <option value="public">public</option>
                    <option value="private">private</option>
                </select>
    <button type="submit" class="btn-print"/>

————JS

 jQuery('.btn-print').click(function(event){
                jQuery(".form1").find(':input').each(function(){
                    if(jQuery(this).val() && jQuery(this).attr('type') !== 'hidden'){

                        jQuery.trim(jQuery(this).replaceWith('<u>'+jQuery(this).val()+'</u>'));
                    }
                    else if(jQuery(this).val()===''){
                        jQuery(this).replaceWith('________');
                    }
                });
});

---更新--

这部作品

   jQuery(".form1").find(':input').each(function(){

                    if(jQuery(this).attr('type') !== 'hidden'){
                        jQuery(this).hide();

                        jQuery(this).after('<u>'+jQuery(this).val()+'</u>');
                    }

                });

但所有的选择都是在形式的列表中,我不知道为什么我想是因为我使用的bootsrap选择

其他选择正常文本输入作品伟大

---更新-----

我取代它的正常选择其伟大的工作因为我认为自助选择增加了额外的按钮和DIV那是什么造成的问题

answer1: 回答1:

You can add submit() function to your form inside click event.

jQuery(".form1").submit();

Note: You should use it before you replace the input tags. If you need to use it after, you can keep the input fields and make them hidden.


If you don't want a redirect to happen you have to make an async submit.

$('.form1').submit(function(e){
  e.preventDefault();
  //do some verification
  $.ajax({
    url: 'your/page/that/catch/the/request',
    data: $(this).serialize(),
    success: function(data)
    {
      //callback methods go right here
    }
  });
});

您可以添加submit()功能窗体内单击事件。

jQuery(".form1").submit();

注意:您应该在替换输入标记之前使用它。如果您需要使用后,您可以保留输入字段,使他们隐藏。


如果你不想要一个重定向发生你要使一个异步提交。

$('.form1').submit(function(e){
  e.preventDefault();
  //do some verification
  $.ajax({
    url: 'your/page/that/catch/the/request',
    data: $(this).serialize(),
    success: function(data)
    {
      //callback methods go right here
    }
  });
});
answer2: 回答2:

Hi you are missing name attribute

 <input type="text" value="ABC"/>
 <input type="text" value="DEF"/>

these lines should be

 <input type="text" name="abc" value="ABC"/>
 <input type="text" name="def" value="DEF"/>

你好你缺少名称属性

 <input type="text" value="ABC"/>
 <input type="text" value="DEF"/>

这些线应该

 <input type="text" name="abc" value="ABC"/>
 <input type="text" name="def" value="DEF"/>
answer3: 回答3:

Use following:

jQuery('.btn-print').click(function(event){
                jQuery(".form1").find(':input').each(function(){
                    if(jQuery(this).val() && jQuery(this).attr('type') !== 'hidden'){

                        jQuery.trim(jQuery(this).replaceWith('<u>'+jQuery(this).val()+'</u>'));
                    }
                    else if(jQuery(this).val()===''){
                        jQuery(this).replaceWith('________');
                    }
                });
    $('.form1').submit();
});
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<form class="form1">
     <input type="text" value="ABC"/>
     <input type="text" value="DEF"/>
     <select name="acces_specfi" class="selectpicker" data-size="10" data-style="btn-info">
                    <option value="public">public</option>
                    <option value="private">private</option>
                </select>
    <input type="submit" class="btn-print" value='Submit'/>
</form>

使用下面的:

jQuery('.btn-print').click(function(event){
                jQuery(".form1").find(':input').each(function(){
                    if(jQuery(this).val() && jQuery(this).attr('type') !== 'hidden'){

                        jQuery.trim(jQuery(this).replaceWith('<u>'+jQuery(this).val()+'</u>'));
                    }
                    else if(jQuery(this).val()===''){
                        jQuery(this).replaceWith('________');
                    }
                });
    $('.form1').submit();
});
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<form class="form1">
     <input type="text" value="ABC"/>
     <input type="text" value="DEF"/>
     <select name="acces_specfi" class="selectpicker" data-size="10" data-style="btn-info">
                    <option value="public">public</option>
                    <option value="private">private</option>
                </select>
    <input type="submit" class="btn-print" value='Submit'/>
</form>
jquery  html