我需要将表单id传递给javascript,但总是显示相同的数据。
<script>
$(document).ready(function() {
$('input[name="submit"]').on('click', function(){
var vauid = $( "input[name='uid']" ).val(); alert("'n ID: "+vauid);
return false;
});
});
</script>
<? include "../includes/config.php";
$sql = "select * from table";
$reg = mysql_query($sql);
while($row = mysql_fetch_array($reg)){ ?>
<form action="" method="POST">
<input type="text" name="uid" value="<? echo $row['uid']?>" />
<input type="submit" name="submit" value="Show"/>
</form>
<? }?>
问题的一部分是,您插入了许多具有相同名称的元素的表单,这是一个坏主意,因为名称是唯一的。
第二,当你点击时,你必须参考当前点击的信息:
$(document).ready(function() {
$('input[name="submit"]').on('click', function(e){
e.preventDefault();
var vauid = $(this).prev("input[name='uid']").val();
console.log("ID: "+vauid);
});
});
这是一个工作演示。
$(this)
将是单击的按钮,我们从中查找上一个输入的值。我还使用preventDefault()
来停止按钮的默认操作,而不是返回false。
此外,您应该退出使用alert()
进行故障排除。,请改用console.log()
。