while循环中创建的文本框的值

时间:2014-03-08 10:34:21

标签: javascript php mysql

如何在php

中的同一页面onchange事件中获取在while循环中创建的文本框的值
while($fet=mysql_fetch_assoc($sql1))
{    
    echo '<tr onchange=loadXMLDoc2(this)>';
    echo '<td><input type=text id=hello name=hello data-id='.$fet["username"].' onchange=loadXMLDoc1(this.value,this,"hello"); value='.$fet["username"].'>';
    echo '<td><input type=text id=uid name=uid onchange=loadXMLDoc1(this.value,this,"uid") value='.$fet["id"].'>';
    echo '</tr>';
}

2 个答案:

答案 0 :(得分:0)

首先,您需要为每个文本框设置不同的ID。

echo '<td><input type=text id='+some_id+'...'

然后,您将能够使用document.getElemenyById('some_id').value在javascript中获取文本框值 此外,您还在使用onchange=func(this.value)。这也可以,虽然theis方法是less recommended

答案 1 :(得分:0)

您的代码存在一些问题:

1)在循环中分配静态ID将创建重复的ID,这在HTML中是无效的。您不需要onchange的ID以您的方式工作,因此您可以删除它们。如果由于其他原因需要ID,请为它们添加一些计数器。类似于id=hello$i

2)使用onchange将导致每次击键都加载xml doc。这真的是你想要的吗?如果您实际上只想在用户输入整个值时加载xml doc一次,请考虑使用onblur

除此之外,你对this.value的使用似乎很好。如果它没有按预期工作,那么请解释一下你得到了什么,以便我们为你提供帮助。

相关问题