1

そのため、行をクリックするとフォームが読み込まれるデータグリッドがあり、JSON データがプルされ、JQuery を使用してフォーム フィールドが伝播されます。それはうまく機能します...時々。非常に一貫性がなく、毎回うまくいかない理由がわかりません。行をクリックすると、ロードされ、(更新せずに) 次の数回はロードされない可能性があります。

どんな助けでも大歓迎です。スクリプトが最初に行うことは、対応するフォームを div #dlg にロードし、JSON データをプルして、フィールドを解析して入力することです。

function fw_getFormData(r_id, t_name, r_key){   
    $('#dlg').dialog('refresh', 'dg_process/dg_edit_form.php?table='+t_name),
    jsonURL = 'form_data/dg_forms_data.php?table='+t_name+'&pkey='+r_key+'&id='+r_id;

    var jqxhr = $.getJSON( jsonURL, function() {})

        //JSON load is complete. Propagate form fields.
        .done(function(data) {
            $.each(data, function(index, obj) {  
                $.each(obj, function(key, value) {
                    //$('#'+key).attr("value", value);
                    $("#dlg").parents("div").find('input[name='+key.toLowerCase()+']').val(value);
                 }); //End inner parse of JSON
             }); //End outer Parse
         })  // End .done

        //JSON Did not load
            .fail(function() {
                 alert( "JSON could not load" );
            }) // End .fail
});

解析している JSON は次のようになります。

[{"staffID":"1","fname":"Bill","lname":"Smith","email_address":"bsmith@fakeemail.net","password":"testpw"}]

最後に、.fail のアラートは、機能しない場合には発生しません。

4

0 に答える 0