簡體   English   中英

Javascript document.getElementById串聯

[英]Javascript document.getElementById concatenating

我正在為一些JavaScript代碼而苦苦掙扎,這些JavaScript代碼在我進行瀏覽時一直在無休止地調整。 我遇到的問題是將部分表單元素id和一個在頁面中其他位置定義的字符串變量連接起來,使我的ajax調用動態化。 我正在使用以下代碼,當元素進行如下硬編碼時,它可以完美工作(僅適用於編碼的項目,不能動態使用,因此測試后效果不佳)

<script type="text/javascript">
function edttodo(str)
{
if (str=="")
{
document.getElementById("todoitemwr").innerHTML="";
return;
} 
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("todoitemwr(2)").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","todo/edt_todo.php?q="+str,true);
xmlhttp.send();
}
</script>

因此,您了解我對代碼的動態方面的需求,我進行了mysql查詢,如下所示:

<?php 
            //Get Current To-Do Items

            //select database
            mysql_select_db("jbsrint", $con);
            //query users_dash_user
            $result1 = mysql_query("SELECT * FROM todo WHERE todo_user_id_fk= '".$_SESSION['user_id']."' AND todo_item_status='1'");

            while($row1 = mysql_fetch_array($result1))
            {                               
            echo"<div class=\"todoitemwr\" name=\"todoitemwr(". $row1['todo_id'] .")\" ID=\"todoitemwr(". $row1['todo_id'] .")\"><span class=\"todoitem\">" . $row1['todo_item'] . "</span><span class=\"rmv\" onclick=\"rmvtodo(". $row1['todo_id'] .")\" onmouseover=\"className='rmvon';\" onmouseout=\"className='rmv';\">X</span><img src=\"images/edit.png\" class=\"edt\" onclick=\"edttodo(". $row1['todo_id'] .")\"></img></div>";
            }
            ?>
            </div>

如您所見,div ID是根據已檢索信息的ID動態命名的。 上面我的ajax代碼的使用是為了能夠編輯在原位檢索的文本,並且一旦更正/更改,就可以重新提交並更新該記錄。

我確信這只是了解JavaScript如何要求我在document.getElementById(“ todoitemwr(2)”)部分中組合文本和str值的一種情況。

與往常一樣,我們非常感謝您的幫助。

艾倫

而不是使用id="todoitemwr(2)"編寫id="todoitemwr_2"

這是因為ID屬性中不允許使用括號。

該代碼將變為:

document.getElementById('todoitemwr(' + str + ')')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM