Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 出现在回显句中的引号_Javascript_Php_Echo - Fatal编程技术网

Javascript 出现在回显句中的引号

Javascript 出现在回显句中的引号,javascript,php,echo,Javascript,Php,Echo,我正在使用PHP构建一个网页。我有一张有多个按钮的桌子。我使用以下代码在for循环中构建按钮: echo "<tr><td><input type='button' value='".$row['Descripcion']."'"; echo "onclick=EliminarHashTag('".$row['ID']."','"; echo $row['Descripcion']; echo "','

我正在使用PHP构建一个网页。我有一张有多个按钮的桌子。我使用以下代码在for循环中构建按钮:

        echo "<tr><td><input type='button' value='".$row['Descripcion']."'";
        echo "onclick=EliminarHashTag('".$row['ID']."','";
        echo $row['Descripcion'];
        echo "','Norma','".$Codigo."','".$Organizacion."')> </td></tr>";   
但是,如果我的变量由一个带有空格
$row['description']=“Criterios Generales”
的字符串组成,则echo会在空格中输出引号,从而弄乱javascript函数调用语法,从而使代码无法工作(Criterios“Generales”)


尝试用反斜杠转义引号:

    echo "onclick=EliminarHashTag('".$row['ID']."',\"";
    echo $row['Descripcion'];
    echo "\",'Norma','".$Codigo."','".$Organizacion."')> </td></tr>";
echo“onclick=EliminarHashTag(“$row['ID']”,\”;
echo$row['description'];
echo“\”、“Norma”、“$Codigo”、“$Organizacion。”)>”;

我将变量前后的
更改为
\”

如果不引用属性,则属性值将在第一个空格或标记的末尾结束

在onclick周围添加引号

echo " onclick=\"EliminarHashTag('".$row['ID']."','";
      ^^       ^^       

echo“,'Norma',“$Codigo.”,“$Organizacion.”)\“>”;
^^

现在,如果任何值有双引号,则需要将其转义为html权限。或者您需要将单引号替换为双引号。

您的html无效,调试工具(如firebug和chrome developer工具)会尝试更正它以显示正确的domtree

您不仅缺少
onclick
属性的结束引号,而且在onclick函数参数中使用相同类型的引号来破坏封装:

 echo '<tr><td><input type="button" value="'.$row['Descripcion'].'"';
 echo 'onclick="EliminarHashTag(\''.$row['ID'].'\',\'';
 echo $row['Descripcion'];
 echo '\',\'Norma\',\''.$Codigo.'\',\''.$Organizacion.'\')"> </td></tr>';   
echo';

美元行的数据来自何处?您的HTML无效,调试工具(如firebug和chrome developer工具)会尝试更正它以显示有效的domtree。输出正确的HTML,一切都会好起来。
onclick=
后面的引号来自何处?它不在源PHP中,但在两个输出中。Y我们的onclick周围没有引号,这是一个问题。@LJ_1102您应该将您的评论作为答案发布。谢谢!!!!在javascript调用周围添加引号修复了这个问题,我不知道空格结束了属性值!
echo " onclick=\"EliminarHashTag('".$row['ID']."','";
      ^^       ^^       
echo "','Norma','".$Codigo."','".$Organizacion."')\"> </td></tr>"; 
                                                  ^^
 echo '<tr><td><input type="button" value="'.$row['Descripcion'].'"';
 echo 'onclick="EliminarHashTag(\''.$row['ID'].'\',\'';
 echo $row['Descripcion'];
 echo '\',\'Norma\',\''.$Codigo.'\',\''.$Organizacion.'\')"> </td></tr>';