0

我正在尝试将字符串值传递给基本的 javascript 函数并得到以下错误

未捕获的语法错误:意外令牌非法

这是后面的代码

string value = "7dim-034/hallo/01:22"
<input type = 'button' value='submit' id='butSimulate' onClick='saveViewItemTester("+value+")'

这是函数这是javascript

function saveViewItemTester(prod) {
    alert(prod);
}

如果可能,帮助解决这个小问题

亲切的问候

4

8 回答 8

2

有几个问题:

  • javascript中没有类型
  • value 是保留字,不要用作变量名
  • 输入标签未关闭
  • 无需“+”变量
  • 利用 ; 在javascript中

在头部标签之间使用它:

<script type="text/javascript">
var test = "7dim-034/hallo/01:22";

function saveViewItemTester(prod) {
  alert(prod);
}
</script>

在正文标签之间使用它:

<input type="button" value="submit" id="butSimulate" onClick="saveViewItemTester(test)" />
于 2013-07-19T07:24:47.840 回答
1

重构您的代码如下 -

C#代码-

 public string value = "7dim-034/hallo/01:22";

Javascript代码-

<input type = 'button' value='submit' id='butSimulate' onclick='saveViewItemTester("<%=value%>")'/>

function saveViewItemTester(prod) {
    alert(prod);
}
于 2013-07-19T07:24:11.163 回答
1

也许你可以传递不带“+”的值并声明不带字符串,只需要 var。例如:

var value = "hola";

<input type="button" value="submit" id="butSimulate" onclick="saveViewItemTester(value)"/>
于 2013-07-19T07:25:28.487 回答
1

试试这个,如果值是 C# 代码

 <input type = 'button' value='submit' id='butSimulate' 
        onClick='saveViewItemTester('<%=value%>')'/>

否则用作

   var value = "7dim-034/hallo/01:22";
   <input type = 'button' value='submit' id='butSimulate' 
        onClick='saveViewItemTester('+ value +')'/>
于 2013-07-19T07:15:00.143 回答
1

对于 C#,string value = "7dim-034/hallo/01:22"

<input type = 'button' value='submit' id='butSimulate' 
    onClick='saveViewItemTester("<%=value%>")'/>
于 2013-07-19T07:20:52.437 回答
1

这应该工作

<input type="button" value="submit" id="butSimulate" onclick="saveViewItemTester('7dim-034/hallo/01:22')" />
于 2013-07-19T07:21:05.153 回答
1

Javascript 是一种无类型语言。如果你想要一个字符串,只需分配它:

 value = "7dim-034/hallo/01:22";
于 2013-07-19T07:14:23.453 回答
1

只需在您的函数调用上转换为"'

<input type = 'button' value='submit' id='butSimulate' onClick='saveViewItemTester('+value+')'/>
于 2013-07-19T07:18:24.613 回答