0

好的,根据我在附加onsubmit到表单时的理解,设置的代码将运行。所以本质上是以下代码:

function init() {
    'use strict';
    document.getElementById('saveForm').onSubmit = saveTodo();
    }

window.onload = init;

应该触发 saveTodo - 功能。但是我的印象是只有在提交表单时才会这样做。这是 saveTodo - 功能:

function saveTodo() {
    'use strict';

    console.log('saveTodo()');
    return false;

}

然而,当我刷新浏览器时,即使没有单击任何表单提交,也会调用此函数。

这是 onsubmit 的正常行为吗?

这是html表单:

<form id="saveForm" name="saveForm">
      <div>
         <label for="todo">Give a task:</label>
         <input type="text" name="todo" id="todo" />
      </div>
      <div>
         <input type="submit" name="add" id="add" value="Add" />
      </div>
 </form>
4

2 回答 2

1

document.getElementById('saveForm').onSubmit = saveTodo;

于 2013-07-29T10:17:39.413 回答
0

啊,看来问题是一个愚蠢的错字。而不是使用onSubmit语法是onsubmit. 所以下面的代码起作用了:

function init() {
    'use strict';

    document.getElementById('saveForm').onsubmit = saveTodo;
    }

感谢您rps注意到括号。

于 2013-07-29T10:43:49.430 回答