jQuery - 为什么我的POST没有被解雇?

时间:2011-04-18 17:49:26

标签: jquery

var htmlGeneratedContent = '<td align="right"><input type="button" value="Save Comment" class="button" onClick="' +               
'submitToServer(' + key + ',' + userID + ',' + batchID + ')' + 

上面的代码生成在firebug中可见的HTML

<input type="button" onclick="submitToServer(1111,bmackey,2222);deActivateThat();" class="button" value="Save Comment">

但是当我点击我的功能时不会激活

    function submitToServer(key, userID, batchID) {
        $.post("savePage.aspx",//breakpoint never hit
            { key: key, userID: userID, batchID: batchID }
        );
    }

我尝试将生成的字符串换行以生成submitToServer('1111','bmackey','2222')。位代码

'submitToServer(\"' + key + '\",\"' + userID + '\",\"' + batchID + '\")' + 

最终导致HTML错误。

<input type="button" );deactivatethat();="" 2222="" ,="" bmackey="" 1111="" onclick="submitToServer(" class="button" value="Save Comment">

2 个答案:

答案 0 :(得分:1)

你正在使用“当你将字符串变量传递给submitToServer时,因为html属性onclick也在使用它们,所以代码全部搞砸了。

尝试用单引号替换它们。

submitToServer(\'' + key + '\',\'' + userID + '\',\'' + batchID + '\')'

答案 1 :(得分:1)

我对第一部分的猜测是,在代码submitToServer(1111,bmackey,2222);中,“bmackey”应该在引号中,因为它不是有效的标识符。您应该收到错误。

submitToServer(1111,'bmackey',2222);