這是命名的代碼,我有:調用動態命名的文本輸入框PHP
<?php
for ($i=1; $i<=$housingcount; $i++){
echo '<input onchange="myFunction(value)" size="',11,'" type="text" name="cavqty',$i,'" id="hous',$i,'"/>';}
?>
哪裏$housingcount
是簡單地從數據庫($housingcount=mysql_num_rows($result)
)查詢的行數。
而且myFunction是不是這個問題的背景下非常重要,因爲它只是一個簡單的求和函數,但無論如何,它看起來是這樣的:
<script>
function myFunction(tBox)
{
var sum=0;
var elts = document.getElementsByTagName('input');
for (var i=0; i<elts.length; i++) {
var elt=elts[i];
if (elt.id && elt.id.indexOf('hous')===0 sum += Number(elt.value);
document.getElementById('sum').innerText=sum;
}
</script>
因此,基於PHP代碼的文本框的數量根據這種情況下的外殼數量而變化。因此,文本框被動態命名(cavqty1,cavqty2,cavqty3,...),作爲循環的迭代結果。現在這種命名方法給我造成了很多麻煩,因爲我不知道如何調用文本框名稱以便將它們用於其他功能。
經過研究,我認爲我將不得不迫使他們成爲一個數組,並通過使用foreach語句逐個查看每個單獨的行,但這並不奏效。唉,我非常難以接受這個動態命名的東西。
我對你的問題是:我該如何調用動態命名的文本框,以便我可以在其他函數中使用它們?
您的'if'語句未正確關閉..如果沒有錯別字 – swapnesh
您是否知道'name'屬性中存在HTML語法錯誤? – Flosculus
好吧這段代碼的JavaScript部分工作正常可能只是錯別字,因爲我並不真的擔心它,因爲它在這裏沒有真正的相關性。這是更多的在那裏只爲人們問什麼myFunction是 – user2618927