Ошибки PHP при попытке вызвать функцию AJAX - PullRequest
1 голос
/ 15 апреля 2011

У меня есть ссылка, которая должна передать имя 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 ]

2 голосов
/ 15 апреля 2011

Это PHP, а не Javascript.Измените его следующим образом:

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

Обратите внимание, что я поставил \ до и после кавычек в editcostomer('bnkcontent').Это сломало бы кавычки, которые повторяют это.

1 голос
/ 15 апреля 2011

Как видно из выделенного кода, вы забыли экранировать ' в строке:

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

Вместо '' вы должны сделать ' до \', потому чтотолько ' скажет парсеру, что строка заканчивается здесь.

0 голосов
/ 15 апреля 2011

У вас есть встроенные кавычки, которые нужно экранировать.Либо используйте альтернативные кавычки и экранированные символы:

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

Поскольку у вас есть оба типа кавычек в строке, которую вы выводите, используйте стиль кавычек, который требуетнаименьшее количество побега, что было бы одинарные кавычки.В противном случае ваш код будет очень уродливым из-за «синдрома наклоняющейся зубочистки»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...