Я просто хочу, чтобы передать php-строку в java-скрипт-функцию вот код. Я знаю, что есть проблема с отправкой строки в javascript-функцию, но как я могу ее решить???? Если я передаю целочисленное значение, то он отлично работает, это показывает проблему в передаче строки
echo "<td><a id='".$row['Patient_Id']."' onclick=changename(".$row['Patient_Id'].",".$row['age'].",".$row['Notes'].") >".$row["Patient_Name"]."</a></td></tr>";
Вот функция java script funtion
function changename(vlue,age,id)
{
alert(id);
var MyDiv1 = document.getElementById(vlue);
document.getElementById('age').innerHTML=age;
var MyDiv2 = document.getElementById('pname');
MyDiv2.innerHTML = MyDiv1.innerHTML; //d
var MyDiv3 = document.getElementById('hidden');
MyDiv3.value =vlue;
}
Ваши параметры являются строковыми значениями, поэтому они должны быть заключены в кавычки:
echo "<td><a id='".$row['Patient_Id']."' onclick=changename( '".$row['Patient_Id']."' , '".$row['age']."' , '".$row['Notes']."' ) >".$row["Patient_Name"]."</a></td></tr>";
// ^----------------------^ etc
В этом смысле JavaScript воспринимает ваши строки как идентификаторы. Если вы проверили свою консоль, вы бы увидели соответствующие ошибки (при условии, что эти идентификаторы не определены).
у вашего onclick нет котировок
echo "<td><a id='".$row['Patient_Id']."' onclick='changename(".$row['Patient_Id'].",".$row['age'].",".$row['Notes'].")' >".$row["Patient_Name"]."</a></td></tr>";
^ //here ^ // and here