繁体   English   中英

使用JS显示/隐藏弹出窗口,窗体

[英]Show/Hide Pop-Up with JS, form

我有一种形式,当用户单击send..the字段发送到AJAX,然后发送到php函数。 之后,打开一个弹出窗口/ div。

我正在尝试做,当用户单击网站上的某个位置时,此div隐藏。 但是行不通,有什么主意吗?

HTML表单:

<form id="contactForm">
                <select id="contactFormSelect">
                  <option value="General" selected>General</option>
                  <option value="Support">Support</option>
                  <option value="Suggestions">Suggestions</option>
                  <option value="Jobs">Jobs</option>
                  <option value="Press">Press</option>
                  <option value="Founder">Founder</option>
                </select>
                <br />
                <input id="contactForm" type="text" name="name" placeholder="Your name"><br />
                <input id="contactForm" type="text" name="email" placeholder="Your email"><br />
                <input id="contactForm" type="text" name="subject" placeholder="Subject"><br />
                <textarea id="write" name="textarea" placeholder="Write here"></textarea><br />
                <input id="submitForm" type="button" value="SEND" onclick="contactRequest(this);">
            </form>

HTML弹出/分区:

<div id="contactSent">
<div id="backgroundOpacity"></div>
<div class="contactSent">
    <div id="contactSentFirst">
        Thank you!
    </div>
    <div id="contactSentSecond">
        Your message has been successfully sent. We will contact you very soon!
    </div>
</div>
<div id="buttonOK">
    Ok
</div>
</div>  

JS:

function contactRequest(elem)
{   
var postData = $('#contactForm').serialize();
    postData += "&textarea="+$('#write').val();
    postData += "&selectedOption="+$('#contactFormSelect').val();;

if($(elem).parent().children('#contactForm').val() != ''){      
    $.ajax(
    {
          url: "/newcontact/pedido-contato/",
          type: "POST",
          data: postData
    });

}
$('#contactSent').show();
}


$('body').click(function(){
$('#contactSent').hide();
});

您正在谈论的弹出div元素听起来像bootstrap modal元素。 也许您应该在这里看看: http : //getbootstrap.com/javascript/#modals 模态确实易于实现,并且可以在网站上提供模态文档。 希望这可以帮助

看来您的backgroundOpacity元素在body标签之上。 尝试为其分配事件。

$('#backgroundOpacity').click(function(){
    $('#contactSent').hide();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM