从具有相同类的同一页面中的特定表单获取提交

时间:2015-06-14 20:02:01

标签: javascript php jquery html

我尝试从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/>

我错了

4 个答案:

答案 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?

&#13;
&#13;
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;
&#13;
&#13;

答案 2 :(得分:1)

首先 - 不要创建具有相同ID值的多个DOM元素。 ID值必须是唯一的。

答案 3 :(得分:1)

变化

form.find('#id').val()

$(this).find('input').val()$(this).find('#id').val()

当然,为每个元素使用唯一ID