如果LocalStorage存在(并且它是输入字段中的值),我试图通过单击为某些输入添加一些附加值的链接(这些不需要存储在LocalStorage中)来进行表单提交。
如果localStorage不存在,那么只需在点击链接的数据属性的某些输入中添加其他值。
我的代码是:
<div id="links">
<h3>Links</h3>
<a href="#1" data-url="http://apple.com" data-name="My url">Link 1</a>
<a href="#2" data-url="http://bbc.co.uk" data-name="My second url">Link 2</a>
<a href="#3" data-url="http://google.com" data-name="My third url">Link 3</a>
</div>
<div id="form">
<h3>Form</h3>
<input type="text" id="name" name="name" placeholder="Your Name" size="25" value="">
<input type="text" id="email" name="email" placeholder="Your Email" size="25" value="">
<input type="text" name="fname" size="25" value="">
<input type="hidden" name="" value="">
</div>
jquery代码是:
document.getElementById('name').value = localStorage.getItem("name");
document.getElementById('email').value = localStorage.getItem("email");
$('#links a').click(function () {
$('#form').find('input[name="fname"]').val($(this).data('name'));
$('#form').find('input[type="hidden"]').val($(this).data('url'));
localStorage.setItem("name", document.getElementById('name').value);
localStorage.setItem("email", document.getElementById('email').value);
});
我想只有一个带有Name和Email值字符串的LocalStorage记录。我非常感谢你的帮助。
请在此处找到我的jsfiddle:http://jsfiddle.net/uhvja70q/2/
答案 0 :(得分:0)
如果有人需要针对类似问题的解决方案,请在此处找到:
$('#links a').click(function () {
if (localStorage.getItem("values") === null) {
$('#form').find('input[name="fname"]').val($(this).data('name'));
$('#form').find('input[type="hidden"]').val($(this).data('url'));
} else {
$('#form').find('input[name="fname"]').val($(this).data('name'));
$('#form').find('input[type="hidden"]').val($(this).data('url'));
$('#submit').trigger('submit');
}
});