0

我有一个调查。在按钮上单击需要它来验证所需的某些字段/本地存储/转到确认页面(以防止用户重新提交)。只有 '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/

4

1 回答 1

1

jquery 中的每个辅助方法都会为初始数组中的每个项目执行一次我们传递给它的函数。您正在尝试多次执行以下语句(每个输入、选择、文本区域一次)。

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

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

于 2013-10-25T14:01:47.633 回答