我有一个表单,其中输入是动态生成的两个具有相同ID,相同名称和相同值的输入字段。
然后,用户可以更改这两个相似输入之一中的任何值(例如,名字)。
我如何检查两个输入字段中的值是否相同,如果它们相同,则只提交第一个输入,如果不相同,则提交更改的值。
所以最终提交将只有
名字:test和姓氏:testtwo
如果将姓氏的值更改为david而不是最终提交,将如何
名:大卫,姓:testtwo
<form id="myform" name="myform">
<input type="text" name="firstname" id="firstname" value="test" />
<input type="text" name="firstname" id="firstname" value="test"/>
<input type="text" name="lastname" id="lastname" value="testtwo" />
</form>
最佳答案
尝试这个:
$(document).ready(function(){
$("#submit").click(function(){
var first_name = $("#firstname").val()
var last_name = $("#firstname_verification").val()
if(first_name!=last_name){
console.log("please varify your name")
// do something here
} else{
console.log("name varified")
// do something here
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" name="myform">
<input type="text" name="firstname" id="firstname" value="test" />
<input type="text" id="firstname_verification" value="test"/>
<input type="text" name="lastname" id="lastname" value="testtwo" />
</form>
<button id="submit">Submit</button>
此外:
$(document).ready(function(){
$("#submit").click(function(){
$("form").each(function(){
var $arr = $(this).find(':input')
//get key/value pair
var values = {};
$arr.each(function() {
values[this.name] = $(this).val();
});
console.log(values)
//get only values in a single array
var val_arr = []
$arr.each(function() {
val_arr.push($(this).val());
});
console.log(val_arr)
//
if(val_arr[0] === val_arr[1]){
console.log("name varified")
} else {
console.log("please varify your name")
}
});
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" name="myform">
<input type="text" name="firstname" id="firstname" value="test" />
<input type="text" id="firstname_verification" value="test"/>
<input type="text" name="lastname" id="lastname" value="testtwo" />
</form>
<button id="submit">Submit</button>