在表单的按钮和javaScript函数之间建立简单的链接存在重大问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for Linux (vers 6 November 2007), see www.w3.org" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Examples of Strings</title>
<script type="text/javascript">
//<![CDATA[
// declarations
//]]>
</script>
</head>
<body>
<h1>Basic Calculator</h1>
<form action="form_action.asp" method="get">
First Variable: <input type="text" name="tb1" /><br />
Second Variable: <input type="text" name="tb2" /><br />
Result: <input type="text" name="result" /><br />
<input type="button" name="b1" value="Submit" onclick="myAdd()" /><br />
</form>
<script type="text/javascript">
//<![CDATA[
<asp:Button id="b1" runat="server" OnClick="documment.myAdd()"></asp:Button>
function myAdd(tb1, tb2){
var result = tb1 + tb2;
alert(result);
return result;
}
//]]>
</script>
</body>
</html>
按钮(b1)应返回tb1和tb2处的值。注意:最终它应该表示tb3处的值,但是为了调试tb3目前什么都不做。
答案 0 :(得分:1)
在浏览器环境中,window
是全局对象,而不是document
。
您也可以省略它,并且范围会自动解析为window
。
此外,您没有将参数传递给您的函数。您应该为他们提供id
属性,并使用document.getElementById()
进行引用。
这样的事情应该这样做(假设您按照代码添加id
属性)...
window.onload = function() {
document.getElementById('my-form').onsubmit = function() {
document.getElementById('result').value = parseInt(document.getElementById('tb1').value, 10) + parseInt(document.getElementById('tb1').value, 10);
return false;
};
};