函数未在href中通过javascript调用

时间:2014-02-18 12:43:26

标签: javascript php jquery html onclick

我使用了我在网络上找到的代码然后改变了一点:

<script type="text/javascript">
    var foodList = [];

    function addToFood (addFood) {
        alert(addFood);
        //foodList.push(addFood);
        //for (i = 0; i < foodList.length; i++) {
        //    var newFood = "<a href='#' onClick='removeRecord(" + i + ");'>X</a> " + foodList[i] + " <br>";
        //};
        //document.getElementById('foods').innerHTML += newFood;
    }
</script>

此时我只想提醒addToFood上的参数。应该调用该函数:

echo "<a href='javascript:addToFood(". $zeile1['TITLE'] .");' class='band-head'>Add</a>";

此行显示了如何在href中添加带有javascript的<a>。 php呈现正确的行,但从不调用addToFood。

看看在线演示:http://anthraxx.sytes.net/也许它可以帮助你更多我。 我通过谷歌浏览器收到的错误:Uncaught SyntaxError: Unexpected identifier但是无法确定该意外标识符。

由于

5 个答案:

答案 0 :(得分:4)

您需要将$zeile1['TITLE']包装在字符串中,如下所示:

echo "<a href='javascript:addToFood(\"". $zeile1['TITLE'] ."\");' class='band-head'>Add</a>";

你可以看到我在开始括号之后和结束之前在JS调用中添加了转义引号\"。 否则它会尝试将变量传递给函数,而不是字符串。

为何逃脱?那是因为你回应:使用PHP。如果我没有逃脱引用,PHP会解释它,因为我结束了字符串,这不是我们想要的。我想把引号放在那里作为内联代码。

答案 1 :(得分:1)

只需在' '" "之间调整你的范围,当你没有范围String时,javascript就像Var一样读。

答案 2 :(得分:1)

你需要逃避$ zeile1 ['TITLE'],这是真的,你可以通过使用以下行来做到这一点 -

    echo "<a href='javascript:addToFood(\"". $zeile1['TITLE'] ."\");' class='band-head'>Add</a>";

这很有效。

答案 3 :(得分:1)

试试这个

    echo '<a href="javascript:addToFood(\''.$zeile1['TITLE'].'\');" class="band-head">Add</a>';

答案 4 :(得分:1)

替换:

echo "<a href='javascript:addToFood(". $zeile1['TITLE'] .");' class='band-head'>Add</a>";

使用:

echo "<a href='javascript:addToFood(\"". $zeile1['TITLE'] ."\");' class='band-head'>Add</a>";