通过jquery即兴包含表单并将表单提交到PHP页面的正确方法是什么。
目前,我正在做:
<script>
var someform = '<form method="post" action="my.php" id="myform">
Enter your name<br />
<input name="name" /><br />
What's your favorite color?<br />
<select name="color">
<option>red></option>
<option>blue</option>
</select><br />
Tell us more about that<br />
<textarea name="comments"></textarea>
<input type="hidden" name="submit" />
</form>';
function callback_form(v,m,f){
if(v == 1)
{
$('#myform').submit();
location.reload();
}
else
{
$.prompt.close()
}
}
</script>
在html中,当我调用它时,表单会显示并刷新页面,但不会提交。
<a href="#" onclick="$.prompt(someform,{ callback: callback_form, buttons: { Cancel: 0, Add: 1 },focus: 1 });">Launch Form</a>
我觉得我正在制作一些容易犯的错误,但是我找不到任何实际包含使用即兴表格标签的人的例子。我希望有人能指出我正确的方向。任何人都可以帮助我提供用户输入的最佳方法,并使用即兴提交表单吗?
答案 0 :(得分:1)
也就是说,因为您在提交时正在重新加载页面。如果您提交表单,您的页面将转到'my.php',因此您不需要'location.reload()'。
答案 1 :(得分:1)
您应该能够通过像这样的ajax提交表单:
$.post('my.php',f,function(data,status,xhr){
//do something here
});
答案 2 :(得分:1)
我明白了;谢谢你的帮助!
显然,我需要更改回调以提交
$.prompt(someform,{ callback: callback_form
要
$.prompt(someform,{ submit: callback_form
)。当我引用提交行为而不是调用函数时,一切都正常工作。