1

通过 jquery impromptu 包含表单并将其提交到 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>

我觉得我必须犯一些简单的错误,但我找不到任何人的例子,实际上包括使用即兴的表单标签。我希望有人能指出我正确的方向。谁能帮助我提示用户输入并使用即兴实际提交表单的最佳方法?

4

3 回答 3

1

也就是说,因为您在提交时正在重新加载页面。如果您提交表单,您的页面将转到“my.php”,因此您不需要“location.reload()”。

于 2011-08-14T13:16:45.907 回答
1

您应该能够像这样通过 ajax 提交表单:

$.post('my.php',f,function(data,status,xhr){
    //do something here
});
于 2011-08-14T13:19:10.967 回答
1

我想到了; 谢谢您的帮助!

显然,我需要更改回调以提交

$.prompt(someform,{ callback: callback_form

$.prompt(someform,{ submit: callback_form)。当我引用提交行为而不是调用函数时,一切正常。

于 2011-08-15T17:49:01.470 回答