js获取输入框的值只能获取第一个值,如何获取点击事件那个值

foreach($keywords as $obj){
echo <<<aaa
<tr>
<td height="20" bgcolor="#FFFFFF"><div align="center">
<input type="checkbox" name="chk[]" value="$obj->id"/>
</div> </td>
<td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">$obj->id</div></td>
<td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">$obj->keyword</div></td>
<td height="20" bgcolor="#FFFFFF" class="STYLE19"><input id="inp_name" class="input_out" name="inp_name" value="" type="text" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'" /></td>
<td height="20" bgcolor="#FFFFFF" align="center"><a href="bianji.php?id=$obj->id&cid=$obj->catid&key=" onclick="up($obj->id,$obj->catid)"><img src="images/pencil-32.png"/></a></td>
/* <td height="20" bgcolor="#FFFFFF"><input type="button" class="button" value="编辑" id="right_middle"></td>*/ //这是我做的JQ弹窗,但也对循环的第一个结果有用
</tr>
aaa; }
<script> function up(id,catid){
if(confirm('对关键字进行修改?')){

var obj7=document.getElementById("inp_name").value;
location.href = 'bianji.php?id='+id+'&cid='+catid+'&key='+obj7;
} }</script> //这是 获得输入框的值方法,现在只能获取循环的第一个值,其它可以点击但‘obj7’没有值,有时候传过去的 都是 循环输入框的第一个值,请各位帮忙看下,我想实现修改输入框点击触发事件,获得相应的输入框的值

在网页中,节点id是不可重复的,如果出现了重复的,那么只读取第一个节点了,该问题的解决方案可以再每个input的id中添加开头或者结尾标记,如:inp_name_1、inp_name_2.....,也可以用name属性查找input节点,
var inputs=$("input name=['inp_name']");然后可以对其进行循环遍历了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-22
第一:onclick="up($obj->id,$obj->catid) 改为 onclick="up(this, $obj->id,$obj->catid)
第二: function up(id,catid){ 改为 function up(img, id,catid){
第三: if(confirm("xxx")){var value = img.parentNode.parentNode.getElementsByTagName("input")[0].value; alert(value);}试试看。本回答被提问者和网友采纳
相似回答