Разрешить нулевые значения при сохранении входных значений после отправки - PullRequest
2 голосов
/ 09 октября 2019

У меня есть несколько необязательных полей ввода в форме. И я хотел бы сохранить их входные значения после отправки.

Я читаю в этом поле даты типа ввода JS, оставляя значения выбранными после отправки формы , но так как все поля ввода являются необязательными,Я получаю сообщение об ошибке can not set property value of null в веб-консоли.

<form class="cat_select" onsubmit="setCate()">
    <input class="l2" name="l2" id="l2" type="text" style="width:30%">
    <input class="l3" name="l3" id="l3" type="text" style="width:50%">
    <button class="btn btn-outline-success my-2 my-sm-0" type="submit" id="cat_submit">Submit</button>
</form>
function setCate(){
    var l2 = document.getElementById('l2').value;
    var l3 = document.getElementById('l3').value;
}
function getl2(){
    if (localStorage.getItem("user_selected_l2") !== null) {
        return localStorage.getItem("user_selected_l2");
    }   
}
function getl3(){
    if (localStorage.getItem("user_selected_l3") !== null) {
        return localStorage.getItem("user_selected_l3");
    }   
}
//seems that can't set these as null
document.getElementById('l2').value=getl2(); 
document.getElementById('l3').value=getl3();

1 Ответ

3 голосов
/ 09 октября 2019

Вы можете использовать условную троицу, чтобы заменить пустое значение на пустую строку:

document.getElementById('l2').value = getl2()? getl2() : ''; 
document.getElementById('l3').value = getl3()? getl3() : '';

Или вы можете использовать ту же логику, чтобы вернуть пустую строку, а не пустое:

function getl3(){
    if (localStorage.getItem("user_selected_l3") !== null) {
        return localStorage.getItem("user_selected_l3")?
               localStorage.getItem("user_selected_l3") : '';
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...