0

我目前正在开发一个网站。如果用户按下按钮,则需要调用 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 中不起作用。

有谁知道出了什么问题?

4

2 回答 2

3

表单字段不应该被定义为全局变量。也许在 IE 中它们是,但这不是你可以依赖的行为。试试这个:

onClick="newProd('a number',
    this.form.textfieldCustomer.value,
    this.form.textfieldSoftware.value,
    this.form.textfieldHardware.value,
    this.form.textfieldDescription.value)">

哦,当然还要添加一个表单来包装输入。

演示:http: //jsfiddle.net/kdUMc/

于 2012-07-08T11:47:38.020 回答
0

在我看来,您的代码中有两个大错误。首先,对输入字段的访问是错误的。它需要与实例变量的连接,例如“文档”。第二个,缺少表单标签。如果将输入字段包装到表单标签中,则可以访问 Esailija 发布的值。

于 2012-07-08T11:53:40.880 回答