2014-09-13 122 views
1

我需要为学院工作, 一个JqueryMobile应用程序,我有一个形式 -如何在localStorage上存储表单值?

<form name="local_storage_form" method="post" action="#" data-ajax="false" autocomplete="on" data- theme="e" style="padding: 10px;" onsubmit="save_data()"> 


    <label for="id">identity card number</label><input type="text" name="id" id="id" placeholder="identity card number..." data-theme="e" required class="localStore"> 
    <label for="hphone">Home Phone Number</label><input type="tel" name="hphone" id="hphone" placeholder="Home Phone Number..." data-theme="e" class="localStore"> 
    <label for="mphone">Mobile Phone Number</label><input type="text" name="mphone" id="mphone" placeholder="Mobile Phone Number..." data-theme="e" required class="localStore" oninvalid="setCustomValidity('Invaild Phone Number (05********)')"> 
    <label for="bdate">Birth Date</label><input type="date" name="bdate" placeholder="Birth Date..." id="bdate" data-theme="e" required class="localStore"> 
    <label for="email">Email Address</label><input type="email" name="email" id="email" autocomplete="off" placeholder="Email Address..." data-theme="e" required class="localStore"> 
    <button type="button" value="Save" id="Save" data-theme="a">Submit</button> 
    </form> 

我需要存储在localStorage的所有细节,之后让他们,我 怎么能做到这一点,当我点击提交按钮?

顺便说一句,这是一个离线网站,所以当我点击提交它给了我一个错误。

回答

1

查看Jquery API文档。

$('#local_storage_form').submit(function(e) { 
    e.preventDefault(); // prevent the form from attempting to send to the web server 
    var $inputs = $('#local_storage_form :input'); 

    var values = {}; 
    $inputs.each(function() { 
     values[this.name] = $(this).val(); 
    }); 

    localStorage.setItem('testForm', JSON.stringify(values)); 
}); 
+0

我做了,但还是没有得到它。 我得到一个HTTP错误405.0-方法不允许当我点击提交按钮.. – 2014-09-13 16:12:51

+0

http://www.checkupdown.com/status/E405.html – Corvusoft 2014-09-13 16:14:00

+0

@OfirOhayon - 你需要防止默认的表单提交,让你'不会将请求发送回Web服务器。 – tvanfosson 2014-09-13 16:19:16