不使用id提交

时间:2016-10-05 11:23:54

标签: javascript php jquery html

我想在不使用 id 的情况下向 reporturl.php 提交表单。     

<script >
$(document).ready(function() {
$("#submit").click(function() {
var name = $("#name").val();
$.post("reporturl.php", {
url1: name,
}, function(data) {
alert(data);
$('#form')[0].reset(); // To reset form fields
});

});
});

</script>

只有第一个提交,休息没有。帮助我找到一种方法,以便所有这些都可以通过 $(this) Jquery 代码中提交各自的点击,但我是Jquery和Don&#39的新手; t知道如何实现它

 <body>
<div>
<input id="name" value="first " type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="second " type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="third " type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="fourth" type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="fifth " type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="sixth " type="hidden">
<input id="submit" type="button" value="Submit">
</div>
<div>
<input id="name" value="seventh " type="hidden" >
<input id="submit" type="button" value="Submit">
</div>
</body>

2 个答案:

答案 0 :(得分:1)

您需要做一些更改:

  1. 将所有输入id更改为class

    <div>
        <input class="name" value="first " type="hidden">
        <input class="submit" type="button" value="Submit">
    </div>
    <div>
        <input class="name" value="second " type="hidden">
        <input class="submit" type="button" value="Submit">
    </div>
    
    ...
    
  2. 相应地更新您的脚本

    $(document).ready(function() {
    
        $(".submit").click(function() {  // listen to class, not id
            var name = $(this).prev().val(); // take the value from preceding input
            $.post("reporturl.php", {
                url1: name,
            }, function(data) {
                alert(data);
                $('#form')[0].reset(); // To reset form fields
            });
    
        });
    
    });
    

答案 1 :(得分:0)

如果您希望在不更改HTML的情况下实现,则可以按照以下代码段进行操作。

但在dom中重复使用id并不是一种好的做法。

ON DELETE NO ACT
$(document).ready(function() {
  $("input[type='button']").click(function() {
    var name = $(this).prev('input[type="hidden"]').val();
    alert(name);
    $.post("reporturl.php", {
      url1: name,
    }, function(data) {
      alert(data);      
    });

  });
});