我尝试从jquery特定的表单获取提交并提醒包含值id的字段类型hiden的值; 我试过这个。 但他的身份价值却越来越高。 这是代码jquery
var form = $(".form");
form.submit(function() {
alert(form.find('#id').val());
return false;
});
这里是代码html
<div>
<form action="" method="post" class="form">
<input type="hidden" id="id" name="id" value="1" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
<div>
<form action="" method="post" class="form">
<input type="hidden" id="id" name="id" value="2" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
<div>
<form action="" method="post" class="form">
<input type="hidden" id="id" name="id" value="3" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
我错了
答案 0 :(得分:1)
id="id"
无论身份位于何处,我都应该是唯一的。例如,尝试将其更改为id="id1"
和id="id2"
。
答案 1 :(得分:1)
你走在正确的轨道上。但您需要使用$(this)
代替form
之前警告第一个值的原因是因为当你执行$('.form').val()
时,默认情况下它将获得第一个值,即使有多个元素也是如此。但是,当您使用$(this)
时,它将获得已提交的特定.form
。
最后,避免对多个元素使用相同的id。您可以使用类等替代方法。见Why is it a bad thing to have multiple HTML elements with the same id attribute?
var form = $(".form");
form.submit(function() {
console.log($(this).find('.my-class').val());
return false;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div>
<form action="" method="post" class="form">
<input type="hidden" class="my-class" name="id" value="1" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
<div>
<form action="" method="post" class="form">
<input type="hidden" class="my-class" name="id" value="2" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
<div>
<form action="" method="post" class="form">
<input type="hidden" class="my-class" name="id" value="3" />
<button class="submit" type="submit" name="enviar" id="enviar">Enviar</button>
</form>
<div/>
&#13;
答案 2 :(得分:1)
首先 - 不要创建具有相同ID值的多个DOM元素。 ID值必须是唯一的。
答案 3 :(得分:1)
变化
form.find('#id').val()
要
$(this).find('input').val()
或$(this).find('#id').val()
当然,为每个元素使用唯一ID