javascript
  • php
  • jquery
  • html
  • ajax
  • 2016-03-09 33 views 0 likes 
    0

    大家好我有一個問題,寫一個回聲來產生一個帶有onchange事件的textarea。如何在echo中包含一個javascript方法調用

    echo "<td class='innerTable'><div>"; 
    echo "<textarea name='comments' id='comments' onchange="saveChanges(this,$row_model['id'])" style='font-family:sans-serif;font-size:1.2em;'>"; 
    echo "</textarea></div></td>"; 
    

    我用反斜槓電平變化中的雙引號前和使用singlequotes,但保持對textarea的行得到解析錯誤嘗試。當註釋更改saveChanges時,javascript應該運行,並且ajax調用應將新註釋保存到數據庫中

    這是我的javascript方法。

    function saveChanges(object, module_id){ 
        $.ajax({ 
         url: 'saveComments.php', 
         data: 'content=' + object.value+ '&id=' + module_id, 
         cache: false, 
         error: function(e){ 
          alert(e); 
         }, 
        success: function(response){ 
         // A response to say if it's updated or not 
         alert(response); 
        } 
    }); 
    

    }

    回答

    1

    可以使用串聯如下:

    onchange='saveChanges(this," . $row_model['id'] . ")' 
    

    所以你回聲將成爲

    echo "<td class='innerTable'><div>"; 
    echo "<textarea name='comments' id='comments' onchange='saveChanges(this," . $row_model['id'] . ")' style='font-family:sans-serif;font-size:1.2em;'>"; 
    echo "</textarea></div></td>"; 
    
    +0

    這一個是最乾淨的,瞬間的工作,謝謝! – olliejjc16

    0

    試圖改變你的PHP代碼:

    echo "<td class='innerTable'><div>"; 
    echo <<<EOF 
    <textarea name='comments' id='comments' onchange="saveChanges(this,{$row_model['id']})" style='font-family:sans-serif;font-size:1.2em;'>"; 
    EOF; 
    echo "</textarea></div></td>"; 
    
    0
    echo "<td class='innerTable'><div>"; 
    echo "<textarea name='comments' id='comments' onchange=\"saveChanges(this,$row_model['id'])\" style='font-family:sans-serif;font-size:1.2em;'>"; 
    echo "</textarea></div></td>"; 
    

    使用「\」在第二行前退出引號。

    0

    如下更改代碼:

    echo "<textarea name='comments' id='comments' onchange='saveChanges(this,{$row_model["id"]});' style='font-family:sans-serif;font-size:1.2em;'>"; 
    
    0

    你試試這樣

    echo "<td class='innerTable'><div>"; 
    echo "<textarea name='comments' id='comments' onchange='saveChanges(this,$row_model['id'])' style='font-family:sans-serif;font-size:1.2em;'>"; 
    echo "</textarea></div></td>"; 
    
    相關問題