我有一个带有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
。
您应该处理[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 ....
}
})
})
这会管用的