尝试调用AJAX函数的PHP错误

时间:2011-04-15 16:05:03

标签: php ajax

我有一个链接,需要将div'bnkcontent'的名称传递给AJAX函数editcustomer()。我从下面的代码行中得到错误。

echo'<a href="#" name="edit" id="edit" onclick="javascript:editcustomer('bnkcontent');">'.'edit details'.'</a>';

下面的

是它的调用函数:

function editcustomer(SpanName) 
{
    var address = document.getElementById('address');
    var town = document.getElementById('town');
    var postcode = document.getElementById('postcode');
    var telephone = document.getElementById('telephone');
    var email = document.getElementById('email');
    var opassword = document.getElementById('opassword');
    //alert(opassword.value);
    var password = document.getElementById('password');
    var cpassword = document.getElementById('cpassword');
    var memword = document.getElementById('memword');
    var cmemword = document.getElementById('cmemword');
    var curDateTime = new Date(); //For IE 
    var poststr = "address=" + address.value + "&town=" +town.value + "&postcode=" +postcode.value + "&telephone=" +telephone.value + "&email=" +email.value + "&opassword=" +opassword.value + "&password=" +password.value + "&cpassword=" +cpassword.value + "&memword=" +memword.value + "&cmemword=" +cmemword.value;
    alert(poststr);
    var SpanName = SpanName; 
    makePOSTRequest('test.php', poststr, SpanName); 
}

3 个答案:

答案 0 :(得分:2)

这是PHP,而不是Javascript。将其更改为:

echo'**<a href="#" name="edit" id="edit" onclick="javascript:editcustomer(\'bnkcontent\');">';**

请注意,我在\中的引号之前和之后放置了editcostomer('bnkcontent')。它会破坏回应它的引号。

答案 1 :(得分:1)

正如您在突出显示的代码中看到的那样,您忘记了转义字符串中的'

echo'<a href="#" name="edit" id="edit" onclick="javascript:editcustomer(\'bnkcontent\');">';

而不是'',您必须'\',因为只有'会告诉解析器字符串在这里结束。

答案 2 :(得分:0)

您有嵌入式引号需要转义。使用备用引号和转义:

echo "**<a href=\"#\" name=\"edit\" id=\"edit\" onclick=\"javascript:editcustomer('bnkcontent');\">";**
     ^--switch to double quotes and do lots of escaping

echo '**<a href="#" name="edit" id="edit" onclick="javascript:editcustomer(\'bnkcontent\');">';**
                                                                           ^^--escape them

由于您在输入的字符串中有两种类型的引号,因此请使用需要最少转义的引号样式,这将是单引号。否则你的代码会因为“倾斜牙签综合症”而变得非常难看。