本文介绍了将表单数据加载到字符串然后再加载到localStorage的最佳方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是将表单数据加载到字符串然后再加载到localStorage的最佳方法吗?

Is this the optimal way to load form data into a string and then to localStorage ?

我自己想到了这一点,并且我在编程方面也不擅长.它可以满足我的需要,但是我不确定这是否是防弹代码?

I came up with this on my own, and I am not good in programming. It works, for what I need, but I am not sure if it's a bulletproof code?

<script>
    var sg = document.getElementById("selectedGateway");
    var sd = document.getElementById("selectedDestination");
    var dm = document.getElementById("departureMonth");
    var dd = document.getElementById("departureDay");
    var dy = document.getElementById("departureYear");
    var rm = document.getElementById("returnMonth");
    var rd = document.getElementById("returnDay");
    var ry = document.getElementById("returnYear");
    var ad = document.getElementById("adults");
    var ch = document.getElementById("option2");

    $("#searchRequestForm").submit(function() {
        var string = 'From: ' + sg.value + ' \nTo: ' + sd.value + ' \nDeparture: ' + dm.value + '/' + dd.value + '/' + dy.value + ' \nReturn: ' + rm.value + '/' + rd.value + '/' + ry.value + ' \nNumber of adults: ' + ad.value + ' \nNumber of children: ' + ch.value;
        localStorage.setItem("string", string);
    });
</script>

推荐答案

我更喜欢表驱动的方法,因此不会重复代码( DRY ):

I prefer a table driven approach so there is no repeated code (DRY):

var ids = [
    "selectedGateway", "From: ",
    "selectedDestination", "\nTo :",
    "departureMonth", "\nDeparture: ",
    "departureDay", "/",
    "departureYear", "/",
    "returnMonth", " \nReturn: ",
    "returnDay", "/",
    "returnYear",  "/",
    "adults", " \nNumber of adults: ",
    "option2", " \nNumber of children: "];

var submitStr = "";
for (var i = 0; i < ids.length; i+=2) {
    submitStr += ids[i+1] + document.getElementById(ids[i]).value;
}
localStorage.setItem("string", submitStr);

这篇关于将表单数据加载到字符串然后再加载到localStorage的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-02 15:33