2011-03-16 75 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