以下是表格:
<form name="loginForm" id="loginForm" method="post">
<!-- <label>UserName :</label> -->
<input id="name" name="username" placeholder="username" type="text" autofocus>
<!-- <label>Password :</label> -->
<!-- <input id="password" name="password" placeholder="**********" type="password"> -->
<input name="submit" type="submit" value=" Login ">
</form>
脚本:
document.getElementById("name").addEventListener("keypress", submitForm);
function submitForm() {
// document.getElementById("loginForm").submit();
document.forms.loginForm.submit();
// alert("Yay, You got this far!");
}
函数submitForm被调用,但是除非按下return / enter,否则表单不会被提交。我已经尝试重命名提交输入,然后再次接受输入,似乎进行函数调用,但是它不是提交表单,而是简单地刷新表单并清除输入文本字段。
答案 0 :(得分:0)
最好使用action属性。
顺便说一下,你应该用<form name="loginForm" id="loginForm" method="post" action="http://localhost:80/my_awesome_form_handler.php">
<input id="name" name="username" placeholder="username" type="text"/>
<input name="submit" type="submit" value=" Login "/>
</form>
Tools > Options > Text Editor > C# > Advanced
答案 1 :(得分:0)
您不需要事件监听器。这应该适合你:
您的表单标记必须具有操作属性。将它指向处理表单的任何脚本。
<form name="loginForm" id="loginForm" method="post" action="script.php">
<!-- <label>UserName :</label> -->
<input id="name" name="username" placeholder="username" type="text" autofocus>
<!-- <label>Password :</label> -->
<!-- <input id="password" name="password" placeholder="**********" type="password"> -->
<input name="submit" type="submit" value=" Login ">
</form>
对于javascript,使用jQuery:
jQuery(document).ready(function($) {
$('#loginForm').on('submit', null, function() {
$(this).submit();
});
}
如果您每次在名称字段中输入字符时实际尝试提交表单,那么您可以执行以下操作:
jQuery(document).ready(function($) {
$('#name').on('keyup', null, function(e) {
e.preventDefault();
$('#loginForm').submit();
});
}