1

我正在尝试在下面的联系表单的提交按钮上打开一个弹出窗口是代码

<form id="contact" name="contact" method="post" action="mail2.php" onsubmit="return valid();">
            <label>Name :</label>
                <input name="name" type="text" id="name" class="contact-input-box" />

            <label>Contact No. :</label>
                <input name="telephone" type="text" id="telephone" class="contact-input-box" />

            <label>Email :</label>
                <input name="email" type="text" id="email" class="contact-input-box" /><br class="clearBoth" />  

            <label>Gender :</label>
            <span>Mail</span> <input type="radio" name="gender" value="male">
            <span>Femail</span> <input type="radio" name="gender" value="female" /> <br class="clearBoth" />

            <label>product :</label>
            <select name="product" class="dropdown" id="product">
                      <option>Product</option>
                      <option value="cd">CD</option>
                      <option value="dvd">DVD</option>
            </select> <br class="clearBoth" />

            <label>Comment :</label>
                <textarea name="comment"  id="comment" class="contact-input-box1"></textarea><br class="clearBoth" />
                <p id="button1"></p>

            <label>&nbsp;</label>
                <input name="button" type="submit" id="button" title="Submit" value="Submit" onclick="myFunction()" /> 
        </form>

但我无法打开弹出窗口。表格工作正常。目前它在thankyou.html页面上。我需要在弹出框中打开感谢信息。

4

5 回答 5

1

如果您的意思是 javascript 弹出窗口,alert("message");请在您的myFunction().

如果您指的是新窗口/标签,请将其放入您的表单中target="_blank",如下所示:

<form id="contact" name="contact" method="post" action="mail2.php" target="_blank" onsubmit="return valid();">

提交表单时,您还做了两件事:

  • 你的表格有onsubmit="return valid();"
  • 你的submit按钮有onclick="myFunction();"

您应该将验证和myFunction()函数的内容放在submit-function 中,如下所示:

$("#contact").on("submit", function()
{
    alert("Testmessage");

    // Validation
    // if validation fails:
        return false;

    // Then whatever you do in `myFunction();`
});
于 2013-04-19T12:23:36.560 回答
1

试试 JqueryUi 对话框。这样您就可以在可自定义的弹出窗口中显示 dethankyou.html。

这是解决您的问题的简单方法。

于 2013-04-19T13:00:16.757 回答
1

您可以使用 jquery ui 对话框。为此,在您的 html 中创建一个 div 并将内容放入要在弹出窗口中显示的 div 中。

<div id="my-popup-div"> this content will be shown inside popup </div>

现在使用 jquery 对话框启动器。

$(document).ready(function(){    
        $("#my-popup-div").dialog({});
    }) 

现在在你的功能中

function myFunction()
{
   $("#my-popup-div").dialog("open");
}

更多定制请按照 ui 教程jquery ui 对话框

于 2013-04-19T12:39:27.307 回答
0

如果您想要一个弹出窗口询问用户是否提交表单,那么您可以挂钩表单 onsumbit 事件:

function beforeSubmit() {
    if (confirm("Are you sure, you want to submit form?")) {
        return true;
    } 
    return false;
}

示例演示

于 2013-04-19T12:58:11.273 回答
0

尝试

  $('#button').submit(function() {
      alert('Handler for .submit() called.'); //you can call myFunction()  here
      return false  //will stop the form submission.

    });

如果您不想停止表单提交,则无需显示任何警报,因为页面已经提交。

或者您可以尝试setTimeout一段时间显示谢谢您的弹出窗口,然后提交表格

于 2013-04-19T12:26:09.700 回答