我有这项调查,存储到本地存储。单击"提交"后,系统会提示用户"您确定吗"。用户单击"确定"后,我正在尝试导航到目录中的确认 HTML 页面(确认.html)。但我无法同时实现存储值和导航工作。似乎只能得到任何一个。任何帮助将不胜感激。
function clicked() {
if (confirm('Are you sure you want to submit? You will not be able to go back.')) {
form.submit();
} else {
return false;
}
}
$('form').submit(function () {
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);
});
});
<button type="submit" value="Save" id="Save" onclick="clicked();" >Submit Form</button>
如果以上没有显示我的问题,这里是 jsfiddle 中的全部
试试这个
<script>
$( 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);
});
}
});
});
</script>
并从按钮中删除onclick="clicked();"
。
我不确定为什么你需要确认.html页面。考虑我的意见如下:
1st:您已经在要求用户确认,给他一个消息框。此后,您应该仅将表单数据(经过任何其他验证)提交到服务器端页面(我相信您在form
的action
值中提到了这一点)。
2nd:如果您仍然需要确认.html页面,那么您应该从该服务器端页面重定向到确认.html而不是从您的表单页面(当前页面)。现在取决于确认的用法.html您应该重定向到确认.html在将表单数据输入数据库之前/之后(或执行其他操作)。