我试图将一个变量传递给一个我认为调用另一个函数的函数(我认为),但是我遇到了问题。 我需要在第二个函数中使用的变量是productid,但是我尝试过的几种方法都没有用。 要么修复javascript或Jquery将是伟大的!
这是我需要变量的行
var error_url = '/ProductDetails.asp?ProductCode' + productid;
这是变量源于……
var productid = form.elements['ProductCode'].value;
这是整个js代码
function addToCart2(form, button) { var softAdd = true; var productid = form.elements['ProductCode'].value; var qstr; var bttnName = button.name; button.disabled = true; if (form.elements['ReturnTo']) { form.elements['ReturnTo'].value = ""; } qstr = serialize(form, bttnName + '.x', '5', bttnName + '.y', '5'); sendAjax('POST','/ProductDetails.asp?ProductCode=' + productid + '&AjaxError=Y', qstr , retrieveProductError2 ,displayServerError,false); button.disabled = false; return false; } function retrieveProductError2(result, statusCode) { var ele = document.getElementById('listOfErrorsSpan'); var errorIndex = result.indexOf(''); var productIndex = result.indexOf('') if (errorIndex > -1 && productIndex == -1) { var error_url = '/ProductDetails.asp?ProductCode' + productid; window.location = error_url; } if (errorIndex != -1) { //ele.innerHTML = result.slice(errorIndex + 11, result.indexOf('')); } else { ele.innerHTML = ""; if (productIndex == -1) { sendAjax('GET','/AjaxCart.asp?GetIndex=True', '', showCart, null, false); } else { productIndex = result.slice(productIndex + 14, result.indexOf('')); sendAjax('GET','/AjaxCart.asp?Index=' + productIndex, '', showCart, null, false); } }
}
在传递retrieveProductError2作为sendAjax调用的错误回调的地方,你可以传入:
function(result, statusCode) { retreiveProductError2(result, statusCode, productId);}
然后更改retreiveProductError2函数的定义以接受其他参数。
最简单的方法是将变量声明移到方法之外。 因此,在addToCart2方法之外更改产品ID的声明。 所以在这种方法之外你这样做:
var product_id;
然后在你的方法中从product_id中删除var,它只是一个赋值而不是声明。
以上就是jQuery教程分享需要将变量传递给函数相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/541219.html