2011-03-16 80 views
1

我有一個while循環來改變每個輸入字段的id。將動態ID傳遞給javascript

print"<td><input style=\"text-align:center\" type=text name=productitemsupdate_$num value=\"$row[productitems]\" size=5 id=pro$num>}</td>"; <-- this should produce pro0 

上面,如果我有3個訂單,我應該有3個IDS

ID- pro0 ID-PRO1 ID- PRO2

在我的JavaScript

我想打電話給ID用像這樣

var pro = form.pro0.value; 

    if(pro == "") { 

    inlineMsg('pro','You can\'t leave this blank.',10); 

    return false; 

    } 

問題是該值不起作用。

它適用於單個變量,比如在循環外傳遞事物,但是當我想從循環內發送ID時,它們不起作用。誰能幫助

千恩萬謝

kardklub

+0

這些字段是否有這些ID或不是? – 2011-03-16 11:06:45

回答

0

form.pro0.value;

一起使用的名稱來訪問輸入爲pro0

嘗試form.productitemsupdate_0.value

嘗試使用getElementByIdhttp://www.tizag.com/javascriptT/javascript-getelementbyid.php

也能改變你的PHP代碼

print"<td><input style=\"text-align:center\" type=\"text\" name=\"productitemsupdate_$num\" value=\"$row[productitems]\" size=\"5\" id=\"pro$num\">}</td>"; 
+0

謝謝克萊德那個例子。非常感謝;) – user662333 2011-03-16 11:51:53

+0

如果它可以幫助你,你可以接受答案 – 2011-03-16 11:55:42

0

用方括號而不是點符號。

foo.bar === foo['bar'] 

您可以將字符串傳遞給變量而不是文字。

+0

感謝您的relpy。但你失去了我? – user662333 2011-03-16 11:09:39

+0

Err。這個例子很簡單。在方括號中使用一個字符串,而不是以點爲前綴的標識符。 – Quentin 2011-03-16 12:01:37