在Javascript中使用表单绑定事件

时间:2015-07-13 09:44:45

标签: javascript forms dom javascript-events

我正在使用Javascript创建form。如下所示

var form = document.createElement('form');
form.action = 'abc.com';
form.noValidate = true;
form.id = 'myForm';
form.onsubmit = 'return validateMyForm();';

我正在尝试添加验证程序,在提交form之前检查必填字段。所以我按照javascript to stop form submission。但它没有将事件附加到form。我怎样才能在Javascript中实现这个目标?

请不要JQuery。

3 个答案:

答案 0 :(得分:4)

您必须将功能分配给onsubmit,而不是字符串:

form.onsubmit = validateMyForm;

不要将 DOM属性 HTML属性混淆。写点像

<form onsubmit="return foo();">

将(大致)等同于

form.onsubmit = function(event) {
    return foo();
};

使用DOM时。

答案 1 :(得分:0)

您不能将函数放入字符串中。

form.onsubmit = function() {
  var valid = true;

  // TODO: form validation

  // Not valid, return false
  if(!valid) {
    alert('Please correct the following errors:');
    return false;
  }

  // valid, do nothing.
}

答案 2 :(得分:0)

您可以直接在required上使用HTML5的input属性,如下所示:

<input type="text" name="lastname" required>

这将导致html5在提交之前验证字段。 根据您要验证的数据类型,还有其他几个属性可用于验证。

无需使用javascript进行验证。