以编程方式提交表格令人烦恼

时间:2015-02-25 09:28:48

标签: javascript jquery

我有一个简单的页面需要form并发出jsonp ajax请求并格式化响应并将其显示在页面上,这一切都很好,但我想要添加它,以便如果表单已填充(通过php $_GET变量),那么表单将在页面加载时自动提交,但相反的是,尽管submit函数返回{{{{}}},页面仍会不断刷新1}}。

提交按钮(只是为了显示它没有像falseid的{​​{1}}

submit

的jQuery

<button type="submit" id="check" class="btn btn-success">Check</button>

我在$(document).ready(function() { $('#my_form').on('submit', function() { var valid = 1; $('#my_form .required').each(function() { if ($(this).val() == '') { $(this).parents('.form-group').addClass('has-error'); valid = 0; } else { $(this).parents('.form-group').removeClass('has-error'); } }); if (valid === 1) { $.ajax({ url: '/some_url', data: $('#my_form').serialize(), type: 'GET', cache: false, dataType: 'jsonp', success: function(data) { var html = 'do something with data'; $('#results').html(html); }, error: function() { $('#results').html('An error occurred, please try again'); } }); } else { $('#results').html('Please fill in all required fields'); } return false; }); }); 之后和$(document).ready(function(){之前添加的部分是:

submit

这两行都具有相同的效果,但我在另一个项目中做的相同,并且它工作正常,据我所知,唯一的区别是jQuery版本,我正在使用if ($('#input_1').val() != '' || $('#input_2').val() != '') { // $('#check').trigger('click'); $('#my_form').submit(); } 页。

更新

道歉,我似乎已经回答了我自己的问题,我认为既然程序化1.11submit中的第一件事,那么可能就是实际的$(document).ready(function(){函数事件被触发之前没有达到,所以我只是在submit函数之后移动了该块,现在它正常工作。

1 个答案:

答案 0 :(得分:0)

url: ''

好像你要发送你的ajax请求。

另外一个:如果你想在不使用AJAX的情况下通过jquery提交表单,请尝试

$("#myForm").submit();

它会将您的表单发送到表单的action属性,然后将页面重定向到那里。