的Javascript:输入提交
你好这是我在我的文件头:的Javascript:输入提交
function entsub(event)
{
if (event && event.which == 13)
write1();
else
return true;
}
,并在身体,我的形式是:
<form id="writeform" name="writeform">
Message: <br />
<textarea name="message" rows="3" id="message" style="width:90%;" onkeypress="return entsub(event)"></textarea>
<br />
<input name="send" type="button" id="send" value="Send" onclick="write1()" />
<span id="sent"></span>
<input type="reset" value="Reset" />
</form>
我需要使其工作当我按下输入时,我在textarea,它不会做一个新的行,但发送它[见我<input type="button">
]
但它不会工作!它不断制作一个新的线......现在使用IE8。
使用键代码,而不是它。
根据浏览器的不同,您需要防止默认操作。查看IE的event.cancelBubble和event.returnValue,以及Firefox的event.stopPropagation()和event.preventDefault()。
嗯,我不知道该怎么做write1()
,但它会是谨慎的,当条件满足时返回false ..
function entsub(event)
{
if (event && event.keyCode == 13) {
write1();
return false; //Return false to prevent default execution
//Some browsers use event.preventDefault() etc.
}else{
return true;
}
}
通常情况下,跨浏览器的测试如下:
function entsub(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
write1();
}
return true;
}
如果你想使用jQuery的,你可以这样做:
$(document).ready(function() {
$("#txtTest").keypress(function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
doSomething();
return false;
}
});
});
function doSomething() {
alert("I did it!");
}
其中txtTest是你的textarea的ID。
对于非js相关的方式,我敢肯定你可以使用type =“submit”的输入,它将使用enter来提交表单。此时,您只需将您的活动移至提交。
更简洁的方法是更改为<input type="button">
至<input type="submit">
并将onclick="..."
移至表格上的onsubmit="..."
。这不需要太多容易出错的JavaScript,并且可以在更多情况下使用。
问题是,如果我会这样做,它不会发送它。不知道为什么,从一些人那里得到了这段代码。 – 2009-10-26 19:17:02
这是我接受的答案,我仍然不需要那些其他的东西,只是keyCode。 – 2009-10-26 19:18:11