2013-07-21 98 views
0

我正在開發一個我想用jQuery進行開發的項目,然而它的確是強制性的寫在dojo之前我從來沒有用過它,在線閱讀關於如何使用它有一些麻煩。Dojo等價於下面的jQuery代碼

下面是我使用的代碼:

<script> 
     window.onload = function() { 
      getManager($("#team_name").val()); 
     } 

     function getManager(team) { 
      $.ajax({ 
       type: "POST", 
       url: "getManager.php", 
       data: {team:team} 
      }).done(function(manager) { 
       $("#manager_name").val(manager); 
      }); 
     } 
</script> 

從本質上講,選擇時(並在窗口加載)應預先填入只讀框下方的基礎有一個下拉<selection>場,隊列在哪個隊伍上。請參閱下面的截圖爲一個更好的主意:

screenshot http://i41.tinypic.com/2mmcu34.png

我上面的代碼工作正常使用jQuery,我似乎無法找到道場相當。

這是選擇領域的HTML:

<select name="team" id="team_name" onchange="getManager(this.value)" type="text" readonly>

,這是文本輸入字段 html代碼:

<input name="manager_name" id="manager_name" type="text" readonly/>

代碼絕寫在dojo作爲頁面的其餘部分,除非有辦法用jquery覆蓋dojo?

+2

什麼是您的dojo版本? – Philippe

回答

1
window.onload = function() { 
    getManager(document.getElementById('team_name').value); 
} 

function getManager(team) { 
    require(["dojo/_base/xhr"], function(xhr){ 
     xhr.post({ 
      url:"getManager.php", 
      timeout: 4000, 
      content: { team:team }, 
      load: function(manager){ 
       document.getElementById("#manager_name").value = manager; 
      } 
     }); 
    }); 
} 
+0

也許我做錯了,但上面的代碼似乎並沒有達到預期的目的:/ –

+0

以下代碼片段適用於此選擇字段,我認爲我的代碼應該遵循這種標準? '\t ' –

+0

'大部分代碼只是普通的JS,並且無處不在,但我對ajax函數有點不確定,我之前做過類似上面的工作,但是我很少使用Dojo 。查看DOCS獲取更多方法來完成ajax - > http://dojotoolkit.org/reference-guide/1.7/quickstart/ajax.html – adeneo

0

如果您使用的道場1.7及以上沒有必要使用的window.onload(),甚至dojo.addOnLoad() - 我認爲這是你在找什麼

require(['dojo/dom', 'dojo/domReady!', function(dom) { 
    getManager(dom.byId('team_name').value); 
}); 


function getManager(team) { 
    require(['dojo/request/xhr', 'dojo/dom'], function(xhr, dom) { 
    xhr.post('getManager.php', { 
     method: 'POST', 
     data: {team: team} 
    }).then(function(manager) { 
     dom.byId('manager_name').value = manager; 
    }, function(error) { 
     console.error('couldn\'t fetch manger!'); 
    }); 
    }); 
} 

domReady! - 是一個AMD加載的插件,將等到DOM完成加載後返回