我目前正在开发一个网站。如果用户按下按钮,则需要调用javascript函数。我将此功能简化为:
<html>
<head>
<script type="text/javascript">
function newProd(number,customer,software,hardware,name)
{
//I simplified this function
alert('number is: '+number+'customer is: '+customer+' software is: '+software+' hardware is: '+hardware+' name is: '+name);
}
</script>
</head>
<body>
<input type="text" name="textfieldCustomer"><br>
<input type="text" name="textfieldSoftware"><br>
<input type="text" name="textfieldHardware"><br>
<input type="text" name="textfieldDescription"><br>
<input type="button" name="button" value="go to function" onClick="newProd('a number',textfieldCustomer.value,textfieldSoftware.value,textfieldHardware.value,textfieldDescription.value)">
</body>
当用户按下Internet Explorer中的按钮时,该功能完美运行!不幸的是,该功能在Chrome或Safari中无效。
有没有人知道出了什么问题?
答案 0 :(得分:3)
表单字段不应该被定义为全局变量。也许在IE浏览器中,但这不是你可以依赖的行为。试试这个:
onClick="newProd('a number',
this.form.textfieldCustomer.value,
this.form.textfieldSoftware.value,
this.form.textfieldHardware.value,
this.form.textfieldDescription.value)">
哦,然后添加一个表单来包装输入。
答案 1 :(得分:0)
在我看来,你的代码中存在两个重大错误。首先,对输入字段的访问是错误的。它需要连接到实例变量,例如'document'。第二个,缺少表单标记。如果将输入字段包装到表单标记中,则可以访问Esailija发布的值。