在内联附件事件的情况下,防止提交表格

时间:2016-01-21 10:14:59

标签: javascript forms submit preventdefault

如何覆盖内联到我的表单的提交事件更准确,我有以下表格

for ($i=0; $i<count($materialprice); $i++) { // line14
    $totalmaterialprice[$i] =  $materialprice[i] * $materialquantity[i];
}
$allmaterialprice = array_sum($totalmaterialprice);

我的javascript解析当前页面上的所有表单,并搜索名为email的输入字段。如果找到这样的字段应该阻止提交并执行一些验证。页面上的某些表单已经附加了事件,如下图所示,但我不知道在这种情况下如何阻止提交

所以我的实际javascript在这里https://jsfiddle.net/g0rf2r99/1/

1 个答案:

答案 0 :(得分:0)

以下是尝试解决此问题的通用解决方案:

var form = document.querySelector("form");
  form.addEventListener("submit", function(event) {
    alert("Input value:" + " " + form.elements.myValue.value);
    event.preventDefault();
  });
<form action="example/submit.html">
    Value: <input type="text" name="myValue">
    <button type="submit">Save</button>
  </form>

注意表单如何有一个名为myValue的文本输入和一个名为Save的提交按钮。

在JavaScript中,您会看到将一个事件侦听器添加到表单元素以侦听提交事件。在该事件处理程序中,将显示带有用户输入的警报。然后使用event.preventDefault()停止提交的默认行为。

在您的代码中,您将识别电子邮件字段,执行验证并阻止默认提交行为,而不是示例中的警报调用。