0

我有一个非常简单的场景,我想要一个文本框,您可以在其中输入一个数字,以及它旁边的一个按钮,按下该按钮将调用 javascript 方法并将文本框中的整数值作为参数发送给它。

我刚刚学习 MVC 并且已经被 WebForms 宠坏了,所以请原谅我这个愚蠢的问题,但是为什么这不起作用呢?

    Enter Value 1-4<textarea id="param"></textarea>
    <br />
   <button id="btnTest" onclick="WCFJSONp(" + param.value + ")">Test Service</button>

我尝试在 'param.value' 前面添加一个 @ 符号,希望 Razor 可能会看到我正在尝试做的事情,但这也不起作用?任何人都可以为被 WebForms 破坏的 MVC 新手推荐任何指向 Javascript/HTML 中“速成课程”的链接吗?

4

2 回答 2

3

正如您所说的问题,这与 MVC 几乎没有关系——这只是 javascript。通常你会在运行 MVC 平台时将 jQuery 与 javascript 一起使用,在这种情况下,这样的事情会起作用。

onclick="WCFJSONp($('#param').val());"

对比onclick="WCFJSONp(document.getElementById('param').value)"

使用 getElementById 时,您没有使用 jQuery 库,而只是使用基础 JavaScript。

使用其中一个有优点也有缺点。

  • 使用基础 JavaScript 更快,您不必加载 jQuery 库。
  • jQuery 可以使您的脚本更便携(在这种情况下可能不是问题),因为它定义了与 DOM 的精确接口并处理任何特定于浏览器的问题(这对我来说是个大问题。)
  • jQuery 更易于使用和理解。(有些人可能会争论它们是否用于基础 javascript)
  • jQuery 有很多高级使用的例子(这里也不是问题)。

可能还有更多,但这些是我想到的。

于 2013-01-10T18:39:52.920 回答
2

这应该是:

onclick="WCFJSONp(document.getElementById('param').value)"
于 2013-01-10T18:39:44.580 回答