提交带有链接的表单

时间:2015-07-01 13:38:04

标签: jquery

如果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/

1 个答案:

答案 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');
} 
});

http://jsfiddle.net/zm9jbnzo/4/