我想让输入字段具有唯一值

时间:2015-05-18 15:07:15

标签: javascript php html html5

让我们说第(A)页有5个输入字段

<form class="classesName" action="action.php" method="POST">
     <input type="text" name="class1" placeholder="Class Name1?" required="">
     <input type="text" name="class2" placeholder="Class Name2?" required="">
     <input type="text" name="class3" placeholder="Class Name3?" required="">
     <input type="text" name="class4" placeholder="Class Name4?" required="">
     <input type="text" name="class5" placeholder="Class Name5?" required="">
</form>

我希望用户填写所有字段但是每个字段必须是唯一的类名

因此他无法填写

  

一级

     

b级

     

a类&lt;这个是重复的,所以它应该显示一条错误消息

     

class c

     

class d

我想我可以在action.php页面中创建if语句来检查提交的字段中是否有重复

但是当我再次重新加载此页面以显示错误时,我不希望丢失所有其他值

有像html5中的属性或类似的东西吗?

谢谢

3 个答案:

答案 0 :(得分:4)

不,单靠HTML5无法做到这一点。你必须编写一些JavaScript才能实现这一目标。 JavaScript代码应检查所有值,如果任何两个相同,则阻止表单成功提交。

答案 1 :(得分:4)

在这种情况下,您可以使用javascript在每次用户填写文本框时验证字段。这是一个例子:

$('input[type=text]').on('change',function(){
    var arr = [];
    $siblings = $(this).siblings();
    $.each($siblings, function (i, key) {
       arr.push($(key).val()); 
    });
    if ($.inArray($(this).val(), arr) !== -1)
    {
        alert("duplicate has been found");
    }
});

JSFiddle:http://jsfiddle.net/x66j3qw3/

答案 2 :(得分:2)

INSERT INTO test_table (title) VALUES (N'Iñtërnâtiônàlizætiøn')

jsfiddle DEMO