HTML5本地存储,验证所需的文本框问题

时间:2013-10-25 13:27:13

标签: javascript jquery html5 validation

我有一项调查。单击按钮需要它来验证本地所需/存储的某些字段/转到确认页面(以防止用户重新提交)。只有'FirstName''Hostipal'需要atm。

问题是当填写所有必填字段时,它无法转到confirmation.html。如果我将1个必填字段打开,它不会验证并进入确认。如果取出所有“必需”语法,则不会进行确认

<label>First Name*:</label> <input required title="Name is required" id="FirstName" name="MainName" type="text"/>

在所有情况下,它仍然存储到本地存储。任何有关验证必填字段的输入都将受到赞赏。希望能把它放在我的clicked()函数中。

<button type="submit" value="Save" id="Save" >Submit Form</button>  

功能

$( document ).ready(function() {
    $('#Save').click(function (e) {
        if (confirm('Are you sure you want to submit? You will not be able to go back.')) {
            var person = $("#FirstName").val() + "." + $('#LastName').val();
            $('input, select, textarea').each(function () {
                var value = $(this).val(),
                    name = $(this).attr('name');
                localStorage[person + "." + name] = value;
                window.location.href = "Confirmation.html";
                console.log('stored key: ' + name + ' stored value: ' + value);
            });

        }
    });
});

如果以上内容没有显示我的问题,请点击以下内容:http://jsfiddle.net/smZHe/1/

1 个答案:

答案 0 :(得分:1)

jquery中的每个辅助方法都会为初始数组中的每个项执行一次传递给它的函数。您试图多次执行以下语句(每个输入一次,选择,textarea)。

window.location.href = "Confirmation.html";

您可以使用变量作为标记来标记验证失败。最后,您可以检查变量并有条理地导航。