0

私は次のコードを持っています:

 $.modal({
                    title: title,
                    closeButton: true,
                    content: content,
                    complete: function () {
                        applyTemplateSetup();
                        $('#main-form').updateTabs();
                        $('#main-form').data('action',action);
                        // updated to line below but still does not work
                        $('#main-form').data('action','Edit');
                    },
                    width: 900,
                    resizeOnLoad: true,
                    buttons: {
                        'Submit': function (win) {
                            formSubmitHandler($('#main-form')); 
                        },
                    }

データがロードされたら、データ属性アクションを設定しようとしています。次に、送信ハンドラーでそれを読み取るコードがさらにあります。

var formSubmitHandler = function (form) {

    //e.preventDefault();
    var $form = form;
    var val = $form.valid();
    if (!$form.valid || $form.valid()) {

        var submitBt = $(this).find('button[type=submit]');
        submitBt.disableBt();
        var sendTimer = new Date().getTime();

        $.ajax({
            url: $form.attr('action'),
            dataType: 'json',
            type: 'POST',
            data: $form.serializeArray(),
            success: function (json, textStatus, XMLHttpRequest) {
                json = json || {};
                if (json.success) {
                    if ($form.data('action') == "Edit") {
                        $('#modal').removeBlockMessages()
                        submitBt.enableBt();
                    } else {

ただし、コードをステップ実行すると、真の値が得られないため、値が正しく設定されていないよう$form.data('action') == "Edit".です。何か間違ったことをしていますか?

4

1 に答える 1

0

これが問題かもしれません。

まず、変数が$('#main-form').data('action',action);
何を保持しているのか完全にはわかりませんが、コードのこの行から、フォームの値を指定していると仮定します。なぜそうするかはあなたの関心事ですが、私はそうではないと信じています。actionurl: $form.attr('action')action== "Edit"

でどのような値が得られます$form.data('action')か?

于 2012-04-27T05:03:15.060 に答える