JavaScript - 表单OnSubmit可以使用,但Action不可以

4 html javascript xhtml onsubmit

在我FORM,由于某种原因,我可以通过onsubmit但不使用我的表单输入变量action.

这有效:

<form onsubmit="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
Run Code Online (Sandbox Code Playgroud)

这不起作用(this.city.value发现为null)

<form action="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
Run Code Online (Sandbox Code Playgroud)

为什么它onsubmit可以得到this.city.value但action事件不能?

Ian*_*ott 11

表单操作标记不引用任何内容 this

相反,使用绝对位置

action="javascript:myFnc(document.getElementById('city-field').value)"
Run Code Online (Sandbox Code Playgroud)