以下代码为输入着色,但不提交chrome中的表单。它在Firefox中运行:
<script type="text/javascript">
$(function(){
$('input').keypress(function(event) {
if (event.keyCode == '13') {
//alert($(this).parentsUntil('form').css('color'));
$('form').css('color','red');
$('form').submit();
}
});});</script>
请注意,提交按钮设置为display:none,如果我将其更改为visibility:hidden,它可以正常工作但保留不是我想要的地方。
感谢。
修改
以下是下面要求的完整示例:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script>
<title>دخول</title>
<script type="text/javascript">
$(function(){
$('input').keypress(function(event) {
if (event.keyCode == 13) {
$(this).parents('form').submit();
}
});
});
</script>
</head>
<body>
<form action="http://www.yahoo.com" method='post'>
<table >
<tr><td>name: </td><td><input type="text" name="username" value=""></td></tr>
<tr><td>password: </td><td><input type="password" name="password" value=""></td></tr>
<tr><td colspan=2><a href="javascript:void(0)" onclick="$('#loginfrm').click();">Login</a>
<div style="display: none;"><input type="submit" name="submit" value="Login" id="loginfrm"></div></td></tr>
</table>
</form>
答案 0 :(得分:3)
您的问题是您将提交按钮命名为submit
,浏览器将其视为已使用的名称,为提交按钮指定dosubmit
之类的名称或其他任何内容。
名称为submit
(不起作用)
http://www.jsfiddle.net/pVUwW/
名称为dosubmit
(有效)
http://www.jsfiddle.net/pVUwW/1/
唯一的区别是提交的名称。
除此之外,我将原始代码中的event.keyCode
更改为event.which
,请参阅http://api.jquery.com/event.which/了解原因。
答案 1 :(得分:0)
这很奇怪,只是在Chrome中尝试了这一点,即使没有您的代码也能正常运行(keypress
)