javascript - 如何屏蔽表单提交按钮

标签 javascript html

我正在处理我的 html 源代码,让用户在文本框中输入他们的电子邮件,然后单击提交按钮进入网站。

当用户没有在文本框中输入他们的电子邮件时,他可以点击提交按钮进入该站点。我想阻止它以阻止他们进入该站点。

这是我使用的代码:

<div id="MainContent">
  <div id="content"></div>
  <div id="form">
  <div id="WFItem5736404" class="wf-formTpl">
    <form accept-charset="utf-8" action="https://app.getresponse.com/add_contact_webform.html?u=KLlP" method="post">
            <div id="WFIcenter" class="wf-body">
                        <div class="wf-contbox">
                            <div class="wf-inputpos">
                                <input name="email" class="Email" style="position: absolute; left: 4%; bottom: 110px; width: 90%; height: 51px;" type="text" data-placeholder="yes" placeholder="Enter your Email Address...">
                            </div>
                        </div>
                        <div class="wf-contbox">
                            <div class="wf-inputpos">
                                <input name="submit" class="button" style="position: absolute; left: 4%; bottom: 46px; width: 92.5%; height: 56px;" type="image" src="button.png">
                        </div>
            </div>
        </div>

        <input type="hidden" name="webform_id" value="5736404" />
    </form>
</div>
<script type="text/javascript" src="http://app.getresponse.com/view_webform.js?wid=5736404&mg_param1=1&u=KLlP"></script>
</div>
</div>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "email");
</script>

我想在电子邮件文本框下添加工具提示,以强制用户在点击提交进入网站之前输入他们的电子邮件地址。

你能告诉我如何在文本框为空时阻止提交按钮进入网站,以便我可以在文本框下添加工具提示以强制用户输入他们的电子邮件吗?

最佳答案

您可以监听 submit 事件并使用 event.preventDefault() 阻止其默认(提交)行为

Demo fiddle

Javascript(纯)

var form = document.getElementById('yourFormId');
form.onsubmit = function (ev) {
   if (!inputDataIsValid()) {
      ev.preventDefault();
      alert('invalid input data');
   }
};

注意:如果您使用 jQuery,您可以通过以下方式执行相同的操作:

$('.form-selector').on('submit', function (ev) {
   if (!inputDataIsValid()) {
      ev.preventDefault();
      alert('invalid input data');
   }
});

关于javascript - 如何屏蔽表单提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25341926/

相关文章:

javascript - 我收到错误 "TypeError: xml.getElementsByTagName is not a function"

javascript - 在网页上显示大量文本的创意

html - 摆脱CSS中的不可见空间

javascript - 如何在 cordova 中动态加载 CSS

javascript - 为什么 JavaScript 会返回那个?

javascript - 不同内核上的多个 node.js 实例

javascript - 防止按钮提交表单 Javascript

javascript - 用于多个事件的 jQuery 单个处理程序

javascript - html5 Canvas 维恩3个圆圈

javascript - 有多个点击打开下拉菜单一次只想打开一个