这都是在php文件中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>JQuery Form Example</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script><!--need at least one instance of jquery-->
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script><!--ajax to use with jquery-->
<script type="text/javascript">
$(document).ready(function(){//when the document has loaded
$("#myform").validate({//Q: what is validate?, myform gets validated
debug: false,
rules: {
name: "required",//name and email are the only things passed
email: {
required: true,
email: true//I guess this defines the input as an email
}
},
messages: {//at what point is this message displayed?
name: "Please let us know who you are.",
email: "A valid email will help us get in touch with you.",
},
submitHandler: function(form) {//submit the form
// do other stuff for a valid form
$.post('process.php', $("#myform").serialize(), function(data) {//Q:what is serialization? myform gets serialized and assigned an action
$('#results').html(data);//what is this?
});
}
});
});
window.onload=function( )
{
}
</script>
<style>
label.error { width: 250px; display: inline; color: red;}
</style>
</head>
<body>
<form name="myform" id="myform" action="" method="POST">
<!-- The Name form field -->
<label for="name" id="name_label">Name</label>
<input type="text" name="name" id="name" size="30" value="Charlie"/>
<br>
<!-- The Email form field -->
<label for="email" id="email_label">Email</label>
<input type="text" name="email" id="email" size="30" value="obesemuleaccount@yahoo.com"/>
<br>
<!-- The Submit button -->
<input type="submit" name="submit" value="Submit">
</form>
<!-- We will output the results from process.php here -->
<div id="results"><div>
</body>
</html>
<!--ok, so I want to first try some stuff out to get a feel for how the form works-->
<!--upload the form to the site somewhere-->
<!--access and play around with it-->
<!--then figure out how to submit to multiple php forms-->
所以我正在使用Jquery和Ajax,我需要自动提交表单。
我尝试过使用像document.myform.submit这样的东西,但这似乎不起作用。它在我不使用ajax时起作用,但这会导致页面刷新到php文件的目标。
我想我只是缺少一些语法。我做了一个搜索,发现了一些像这样的线程: Ajax auto form submit
但我更像是一个业余爱好者设计师,所以我真的不明白他们在说些什么。我不会把修复我的代码的任务放在别人身上,但我很确定这个改变很小,而且我已经尝试了解这一点。非常感谢任何有帮助的人!请在您的指示中详细说明,如果您可以直接在代码中提供修复,那么最好。
编辑:请不要对我的评论笑得太厉害,我现在对代码(经过大量谷歌搜索)了解得更好,这是几小时前的修订版。
double edit:这是一个名为process.php的示例php脚本,您需要编辑它以查看自动提交是否有效。如上所述,您可以使用MySQL数据库执行此操作。
print "Form submitted successfully: <br>Your name is <b>".$_POST['name']."</b> and your email is <b>".$_POST['email']."</b><br>";
答案 0 :(得分:1)
您可以使用jQuery $('form')。submit()方法检查表单的提交时间,然后在执行完所有AJAX操作后,return false;
并阻止默认提交。
答案 1 :(得分:1)
为了尽量减少努力,我认为这将有效
<script>
$(document).ready(function(){
submit_form();
});
function submit_form () {
$.post('process.php', $("#myform").serialize(), function(data) {
$('#results').html(data);
});
}
</script>
问:什么是验证?,myform得到验证
答:使用validate方法,可确保在提交表单之前字段中的数据有效。
问:此消息显示在什么时候?
答:验证未通过时。例如,您将名称指定为“必需”,并且电子邮件必须是几行之前的“电子邮件”。
问:什么是序列化? myform被序列化并分配了一个动作答:Serialize读取表单中所有字段的值,并构造适合GET和POST的查询字符串。在您的情况下,序列化后,POST数据将是name = Charlie&amp; email=obesemuleaccount@yahoo.com“
问:这是什么?答:“data”作为参数传递给回调函数。在这种情况下,process.php的输出将被写入#('#results')
的innerHTML中答案 2 :(得分:1)
这个jquery插件应该工作http://malsup.com/jquery/form/
简单
$('#myform').submit(function()
{
$('#myform').ajaxForm();
return false;
});
并且您的表单将被提交而不刷新页面。
答案 3 :(得分:1)
您的脚本运行正常。我测试了它,它工作正常。 要自动提交表单,您必须在windo.onload函数中添加以下行:
$("#myform").submit();
它会在页面加载时自动提交您的表单。
要测试您的页面并查看表单提交结果,我建议您先将页面提交到一个简单的html文件(包含一些单词......),然后转到php文件。
根据您提交页面的html文件的名称将sumbmitHandler更改为: (在我的例子中,文本文件是target.html,只包含单词Hi)
submitHandler: function(form) {//submit the form
// do other stuff for a valid form
$.post('target.html', $("#myform").serialize(), function(data) {//Q:what is serialization? myform gets serialized and assigned an action
alert(data);
$('#results').html(data);//what is this?
});
}
在页面加载时,您将看到并警告包含html页面的内容,div结果也将填充此内容。
我希望它有所帮助!
请评价。