Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用即兴对话框包括和提交表单_Jquery_Modal Dialog_Form Submit_Impromptu - Fatal编程技术网

Jquery 如何使用即兴对话框包括和提交表单

Jquery 如何使用即兴对话框包括和提交表单,jquery,modal-dialog,form-submit,impromptu,Jquery,Modal Dialog,Form Submit,Impromptu,通过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 /> &l

通过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>

var someform='1〕
输入您的姓名

你最喜欢什么颜色?
红色> 蓝色
告诉我们更多关于这方面的信息
'; 函数回调形式(v,m,f){ 如果(v==1) { $('#myform')。提交(); location.reload(); } 其他的 { $.prompt.close() } }
在html中,当我调用它时,表单显示并刷新页面,但不提交

<a href="#" onclick="$.prompt(someform,{ callback: callback_form, buttons: { Cancel: 0, Add: 1 },focus: 1 });">Launch Form</a>


我觉得我犯了一些很容易的错误,但我找不到任何人使用即兴方式包含表单标签的例子。我希望有人能给我指出正确的方向。有谁能帮我找到提示用户输入并使用即兴提交表单的最佳方法吗?

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

您应该能够通过ajax提交表单,如下所示:

$.post('my.php',f,function(data,status,xhr){
    //do something here
});

我明白了;谢谢你的帮助

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

$.prompt(someform,{ callback: callback_form

$.prompt(某种形式,{submit:callback\u form
)。当我引用提交行为而不是调用函数时,一切都正常工作。

s/不需要/不应该有/
如果我删除重新加载行,页面似乎根本不工作。对话框关闭,但页面的行为与我单击提交按钮的行为不同。我想知道是否需要有一个und我使用jquery实际“单击”的显示按钮?更新:如果我放入实际表单并单击该按钮,它将正常提交。因此,$('#myform').submit();action的行为与实际单击submit按钮的行为不同,当时我认为行为是相同的。我找到了答案;感谢您的帮助!显然,我需要将$.prompt(someform,{callback:callback_form)更改为$.prompt(someform,{submit:callback_form)。当我引用提交行为而不是调用函数时,一切都正常工作。好的,你能在上面的表单示例的上下文中重新表述一下吗?对不起,我以前从未使用过$.post…@user882134,这很好,虽然my.php不存在,但它发布了正确的内容: