我有一个简单的页面需要form
并发出jsonp
ajax
请求并格式化响应并将其显示在页面上,这一切都很好,但我想要添加它,以便如果表单已填充(通过php $_GET
变量),那么表单将在页面加载时自动提交,但相反的是,尽管submit
函数返回{{{{}}},页面仍会不断刷新1}}。
提交按钮(只是为了显示它没有像false
或id
的{{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.11
是submit
中的第一件事,那么可能就是实际的$(document).ready(function(){
函数事件被触发之前没有达到,所以我只是在submit
函数之后移动了该块,现在它正常工作。
答案 0 :(得分:0)
url: ''
好像你要发送你的ajax请求。
另外一个:如果你想在不使用AJAX的情况下通过jquery提交表单,请尝试
$("#myForm").submit();
它会将您的表单发送到表单的action属性,然后将页面重定向到那里。