2012-04-27 45 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')'等於什麼?你有沒有在控制檯中記錄這個值? – 2012-04-27 05:02:05

+0

只是爲了增加,你應該在必要時使用'==='(嚴格比較)。 – Joseph 2012-04-27 05:07:41

+0

你好。它沒有定義。我也嘗試將操作直接設置爲「編輯」,但由於某種原因,稍後再檢查時它仍然顯示爲未定義。 – 2012-04-27 05:19:22

回答

0

這可能是問題所在。

首先,你做的 - $('#main-form').data('action',action);
我不能完全肯定action變量會怎樣,但是從這一行代碼的 - url: $form.attr('action')我會假設你給的形式action值。爲什麼你這麼做是你的擔憂,但我確實相信它不是== "Edit"

您在$form.data('action')中獲得什麼價值?

+0

我檢查,它說未定義。 – 2012-04-27 05:16:40