मान लें कि आपके पास इस तरह का फॉर्म है (ध्यान दें कि सभी इनपुट में एक ही वर्ग है):
<form id="myForm" method="POST" action"someUrl">
<input type="text" class="recordPosition"></input>
<input type="text" class="recordPosition"></input>
<input type="text" class="recordPosition"></input>
<input type="text" class="recordPosition"></input>
</form>
आप jQuery के साथ ऐसा कुछ कर सकते हैं:
$(document).ready(function(){
$(".recordPosition").on("blur", function(){
var allFieldsForOrder = $('.recordPosition');
var count = 0;
var i=0
//console.log(allFieldsForOrder.length );
while((i<allFieldsForOrder.length) && (count < 2)){
if ($(allFieldsForOrder[i]).val()===$(this).val())
{
count++
}
i++;
}
if (count==2){
alert("A duplicated value"); return false;}
});
});
आपके द्वारा पोस्ट किए गए HTML के लिए आप इसका उपयोग कर सकते हैं:सूचना मैं डुप्लिकेट किए गए मान की स्थिति को संग्रहीत नहीं करता।
$(document).ready(function(){
//console.log($("input[type='text'][name^='PositionNumber'").length);
$("input[type='text'][name^='PositionNumber'").each(function(){
$(this).on("blur", function(){
var allFieldsForOrder = $("input[type='text'][name^='PositionNumber'");
var count = 0;
var i=0
while((i<allFieldsForOrder.length) && (count < 2)){
if ($(allFieldsForOrder[i]).val()===$(this).val())
{
count++
}
i++;
}
if (count==2){
alert("A duplicated value");
}
});
});
});
उपरोक्त कोड के लिए हम मानते हैं कि आप उन सभी क्षेत्रों की जांच करना चाहते हैं जहां विशेषता नाम स्ट्रिंग "PositionNumber" से शुरू होता है
मैं बाद में कोड को कम करने की कोशिश करूंगा, मुझे लगता है कि यह जांचने का एक छोटा तरीका है कि "RecordPosition" मान को डुप्लिकेट किया गया है, लेकिन कुछ विचारों का परीक्षण करने की आवश्यकता है।
यह आपका समाधान होगा (उनमें से एक):
$(document).ready(function(){
$('form').on("submit",function(){
var tempArray=[];
$("input[type='text'][name^='PositionNumber'").each(function(){
tempArray.push($(this).val());
});
var i=0;
var duplicated=false;
var currentElement;
while((tempArray.length >= 0) && (duplicated==false)){
//pop it out from the array
currentElement = tempArray.pop();
duplicated = tempArray.indexOf(currentElement)
}
//after you can use "duplicated" to cancel the submit
if (duplicated){
alert("duplicated value:" + currentElement);
return false;
}
});
});
मैं छोटा संस्करण:
$(document).ready(function(){
$('form').on("submit",function(){
var tempArray=[];
var exists=0;
$("input[type='text'][name^='PositionNumber'").each(function(){
exists = tempArray.indexOf($(this).val());
if (exists>=0){
return false;//break the loop
}
tempArray.push($(this).val());
});
//after you can use "exist" to check if duplicated and retrieve the value to cancel the submit
if (exists>=0){
alert("duplicated value:" + tempArray[exists]);
} else{
alert("no duplicated value:");
}
return false;
});
});