2012-04-27 6 views
0

私は、次のコードを持っている:私のデータがロードされると、私はデータ属性のアクションを設定しようとしています要素にHTML5データ値を割り当てるにはどうすればよいですか?

$.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".私が何かをしています違う?

+2

'$ form.data( 'action')'とは何ですか?コンソールに値を記録しましたか? –

+0

追加するだけで、必要に応じて '==='(厳密な比較)を使うべきです。 – Joseph

+0

こんにちは。それは未定義です。私もアクションを直接 'Edit'に設定しようとしましたが、何らかの理由で後でチェックするときに未定義と表示されます。 –

答えて

0

これは問題の可能性があります。

まずあなたが - $('#main-form').data('action',action);
を私はaction変数が保持しているものを完全にわからないんだけど、あなたのコード行から - url: $form.attr('action')私は、フォームにaction値を与えていると仮定するつもりです。なぜあなたはそれがあなたの懸念であるか、私はそれが== "Edit"ではないと信じています。

$form.data('action')にはどのような価値がありますか?

+0

私はそれを確認し、それは未定義と言っています。 –

関連する問題