将一个var从php发送到javascript不会';行不通
我想从php脚本向javascript发送一个变量。以下是我到目前为止的情况:将一个var从php发送到javascript不会';行不通,javascript,php,Javascript,Php,我想从php脚本向javascript发送一个变量。以下是我到目前为止的情况: <script> function showEditMenuItemForm(name) { document.getElementById('editMenuItemForm').style.display = 'block'; document.editMenuItemForm.menuitem_edit.value == '+name+'; document.editMenu
<script>
function showEditMenuItemForm(name) {
document.getElementById('editMenuItemForm').style.display = 'block';
document.editMenuItemForm.menuitem_edit.value == '+name+';
document.editMenuItemForm.menuitem_edit.focus();
document.getElementById('linkOpenAddMenuListForm').style.display = 'none';
document.getElementById('addNewMenuItemForm').style.display = 'none';
}
</script>
<?php
if($sygroup == '3') {
$valueRname = $extract['name'];
echo '
<p>
'.$extract['name'].'
<a onClick="return returnDeleteSure()" href="systemdeletemenuitem.php?id='.$idfinal.'">
<img src="img/deleteicon.png" class="icon12">
</a>
<img onClick="showEditMenuItemForm('.$valueRname.')" src="img/Edit File-32.png" class="icon12">
</p>
';
}
?>
函数showEditMenuItemForm(名称){
document.getElementById('editMenuItemForm')。style.display='block';
document.editMenuItemForm.menuitem_edit.value=='+name+';
document.editMenuItemForm.menuitem_edit.focus();
document.getElementById('linkOpenAddMenuListForm')。style.display='none';
document.getElementById('addNewMenuItemForm')。style.display='none';
}
我不知道为什么,但该值不是php变量(它是空的,而不是'Test',例如)。所以脚本不起作用
我希望你能帮助我
对不起,我的英语不好,顺便说一句,我希望你能理解这个问题:)
更改为此。如果将文本传递给javascript函数,则它必须介于''
假设:
$sygroup == '3'
以及:
以及:
您在这里仍然有几个问题:
1) 这部分代码就在这里:
<img onClick="showEditMenuItemForm('.$valueRname.')"
但在本例中,它是一个文本字符串,您可能需要类似以下内容:
<img onClick="showEditMenuItemForm(test)"
document.editMenuItemForm.menuitem_edit.value == "'" + name + "'";
…这将是用字符串连接变量并确保其周围有引号的正确语法。我不确定您在这里还做了什么。看看您正在生成的HTML和JS。不要只看PHP,然后想知道为什么JS不能工作 看看JavaScript控制台。它将为您提供有用的错误消息 这: 看起来它将生成如下内容:
"showEditMenuItemForm(Bob)"
这将引发一个引用错误,因为您需要的是字符串文字,而不是变量名
使用json\u encode
将PHP变量转换为JavaScript文本
使用htmlspecialchars
将JavaScript文本转换为可以安全地放入HTML属性值中的内容
避免将字符串捣碎在一起
if($sygroup == '3') {
$valueRname = $extract['name'];
?>
<p>
<?php echo htmlspecialchars($extract['name']); ?>
<a onClick="return returnDeleteSure()"
href="systemdeletemenuitem.php?id=<?php echo htmlspecialchars(urlencode($idfinal)); ?>">
<img src="img/deleteicon.png" class="icon12">
</a>
<img onClick="showEditMenuItemForm(<?php htmlspecialchars(json_encode($valueRname)); ?>)"
src="img/Edit File-32.png" class="icon12">
</p>
<?php
}
?>
if($sygroup==“3”){
$valueRname=$extract['name'];
?>
我们需要看看在哪里设置了$extract['name']
来解决这个问题。你是在表单POST中提交还是在Get中提交?没有足够的代码。你如何设置$extract['name']
?
<img onClick="showEditMenuItemForm(test)"
document.editMenuItemForm.menuitem_edit.value == '+name+';
document.editMenuItemForm.menuitem_edit.value == "'" + name + "'";
"showEditMenuItemForm('.$valueRname.')"
"showEditMenuItemForm(Bob)"
if($sygroup == '3') {
$valueRname = $extract['name'];
?>
<p>
<?php echo htmlspecialchars($extract['name']); ?>
<a onClick="return returnDeleteSure()"
href="systemdeletemenuitem.php?id=<?php echo htmlspecialchars(urlencode($idfinal)); ?>">
<img src="img/deleteicon.png" class="icon12">
</a>
<img onClick="showEditMenuItemForm(<?php htmlspecialchars(json_encode($valueRname)); ?>)"
src="img/Edit File-32.png" class="icon12">
</p>
<?php
}
?>