如何處理JSON中可能為"假值"的輸入?備選方案探討
P粉161939752
P粉161939752 2023-09-10 09:35:21
0
2
297

假設,我不確定是否存在已選取的authorities(但如果存在,我希望選擇它們)。如果沒有選中的authorities,我希望jQuery選擇authorities,無論它們是否被選中(實際上,這意味著檢索隱藏輸入的值)。我對使用JS的“真值”/“假值”概念來處理這種情況的想法是:

    let user = {
        id: $(this).find('[name=id]').val(),
        username: $(this).find('[name=username]').val(),
        password: $(this).find('[name=password]').val(),
        name: $(this).find('[name=name]').val(),
        lastName: $(this).find('[name=lastName]').val(),
        department: $(this).find('[name=department]').val(),
        salary: $(this).find('[name=salary]').val(),
        age: $(this).find('[name=age]').val(),
        email: $(this).find('[name=email]').val(),
        enabledByte: $(this).find('[name=enabledByte]').val(),
        authorities: JSON.parse($(this).find('[name=authorities]:checked').val()) || 
                    JSON.parse($(this).find('[name=authorities]').val())
    };

然而,它不起作用。有趣的是,它在下面的程式碼片段中確實起作用。難道val()在匹配失敗時傳回的undefined不是「假值」嗎?想想看!我最好的猜測是,當解析undefined時,JSON.parse()會拋出錯誤,而不是傳回一些我希望的「假值」。這個方法不接受“param OR param”,對嗎?

你認為我應該如何提供這種情況的回退(除了當然,單獨檢查選中的authorities的“假值”,這對我來說有點冗長) ?

 

<头>
<元字符集=“UTF-8”>


<标题>管理頁面

<正文>
<标题> 名稱 姓氏 部門 電子郵件 <正文>

填寫表格

<表格>
<标签=“名称”>名稱:
<脚本> $(文檔).ready(函數() { $('form').on('提交', 非同步函數(事件) { event.preventDefault(); $('tbody').append( `` ); const SubmitButton = $(this).find('[type=submit]'); 常量形式 = $(this); 提交按鈕.removeClass('btn-primary') .addClass('btn-成功') .attr('value', '用戶已新增!') .attr('類型', '按鈕') .click(() => $('[href="#users-table"]').tab('show')); 設定超時(函數(){ commitButton.removeClass('btn-成功') .addClass('btn-primary') .attr('值', '提交') .attr('類型
P粉161939752
P粉161939752

全部回覆(2)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!
約翰 美國能源部 IT [email protected]
美國能源部 人力資源 [email protected]
${$(this).find('[name=name]').val()} ${$(this).find('[name=last-name]').val()} ${$(this).find('[name=部門]').val()} ${$(this).find('[name=email]').val() || '不適用'}