<form onsubmit="submit(); return false;" name="text" id="form" method="get">
<input type="feild" style="font-size: 150%;" id="field" name="field" value=""
onSubmit="this.value='';"/>
<input type="button" id="add" style="font-size: 150%;" value=" Add tally to score "/>
<input type="submit" value="submit" style="visibility:hidden" />
如果我改变“submit();” “警告('这里');”它完美地调用了警报功能。 为什么不调用提交函数?
我希望在用户按Enter键时调用该函数。 http://jsfiddle.net/kaninepete/JsAr4/
注意:侧面的按钮用于不同的目的,而不是问题的一部分。 的修改 更多的工作,试图跟随基督徒的例子让我在这里http://jsfiddle.net/kaninepete/MGxNG/
我不明白为什么这与他的榜样不同! 我得到的只是“{”错误“:”请使用POST请求“}” 和他的作品完美无缺。
答案 0 :(得分:2)
输入元素上没有onsubmit方法。
在小提琴上,如果您在输入按钮上将type =“button”更改为type =“submit”,则在按下按钮时会调用该表单。
修改强>
你的问题似乎有两件事。
一个是submit
是浏览器中的本机方法。如果您将名称更改为例如。 mySubmit
解决了这个问题。
第二个是JSFiddle将js代码放在一个范围内。这意味着您定义的方法在该范围之外将不可用。通过使方法成为全局来重新获得:
window.mySubmit = function () {
alert('test');
}
答案 1 :(得分:0)
尝试在jsfiddle之外重现,感觉就像它一样工作。也许我没有得到完整的代码?
这是我使用的(甚至删除了前面讨论过的按钮)。在文本框中按Enter键(在FF中测试)时,此方法有效。有什么我想念的吗?
<html>
<head>
<style>
</style>
<script lang="javascript">
var tally = "0";
window.onload = setup;
function setup() {
drawTally();
document.getElementById("add").onclick = addScore;
document.getElementById("form").onSubmit= submit;
}
function addScore() {
document.getElementById('change').innerHTML = parseInt(document.getElementById('change').innerHTML)+tally;
tally=0;
}
function submit(){
alert("it worked!");
}
function drawTally() {
var elem = document.getElementById('tallyDisp');
//var tally = 0;
if (elem && elem.getContext) {
var context = elem.getContext('2d');
if (context) {
context.fillStyle = '#9f9';
context.fillRect(0, 0, 300, 200);
context.fillStyle = '#00f';
context.font = 'bold 100px sans-serif';
context.textAlign = 'center';
context.textBaseline = 'middle';
context.fillText(tally, 150, 100);
}
}
}
setInterval("drawTally();", 60);
</script>
<body>
<h1>Farkle</h1>
<canvas height="200" width="300" id="tallyDisp">Oops!</canvas>
<form onsubmit="tally=parseInt(tally)+parseInt((text.elements.field.value));
document.text.elements.field.value=''; return false;" id="form" name="text">
<input type="feild" onsubmit="this.value='';" value="" name="field" id="field" style="font-size: 150%;">
</form>
<p>Your score is <span id="change"> 0</span>!</p>
</body>
</html>