提问者:小点点

从提交的表单中获取值


我有一个带有2个按钮(type=“submit”)的表单。 它们每一个都有不同的价值。

null

$(document).ready(function() {
  $('#myform').submit(function() {
    var _att = $(this).attr("value");
    if (_att == "insert") {
      //do insert here ....
    }
    if (_att == "update") {
      //do update here ....
    }
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="myform">
  <input type="email" name="email" placeholder="Enter email" /><br>
  <button type="submit" value="insert">Insert Button</button>
  <button type="submit" value="update">Update Button</button>
</form>

null

我的问题是,如何从提交的表单中的点击按钮获得价值? 我尝试获取attr(“value”),但返回值是undefined


共3个答案

匿名用户

您应该处理[type=“submit”]上的click事件,以获取它们的attr(“value”),即。

null

$(document).ready(function() {
  $('[type="submit"]').on('click', function(event) {
    event.preventDefault();
    let value = $(this).attr("value");
    console.log(value);
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="myform">
  <input type="email" name="email" placeholder="Enter email" /><br>
  <button type="submit" value="insert">Insert Button</button>
  <button type="submit" value="update">Update Button</button>
</form>

匿名用户

您可以通过使用[type=“submit”]:focus在您的表单-.submit轻松实现这一点

我还添加了PreventDefault函数,它将确保在单击表单提交按钮时页面不会刷新,并检查所有的验证--如果有的话。

运行snippet以查看其在下面的工作情况。

工作演示:https://jsfiddle.net/oqhsjabr/

null

$(document).ready(function() {
  $('.submit-button').click(function(e) {
    e.preventDefault()
    var _att = $(this).attr('value');
    if (_att == "insert") {
      alert('Insert Clicked')
    }
    if (_att == "update") {
      alert('Update Clicked')
    }
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="myform">
  <input type="email" name="email" placeholder="Enter email" /><br>
  <button class="submit-button" type="submit" value="insert">Insert Button</button>
  <button class="submit-button" type="submit" value="update">Update Button</button>
</form>

匿名用户

<script 
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> 
</script>
 <form id="myform">
   <input type="email" name="email" placeholder="Enter email" /><be>
   <button type="submit" value="insert">Insert Button</button>
   <button type="submit" value="update">Update Button</button>
 </form>


$(document).ready(function() {
 $('button').on('click', function(e) {
  e.preventDefault();
   var _att = $(this).val();
   console.log(_att);
    if (_att == "insert") {
      //do insert here ....
      }
    if (_att == "update") {
      //do update here ....
     }
   })
 })

这会管用的