2016-02-02 44 views
1

我開始學習JavaScript和瀏覽器API。爲什麼,如果我按下「保存」按鈕,彈出窗口不會出現在瀏覽器中?我錯在哪裏?連接javascript和HTML

<label for="txtNome"><input id="txtNome" type="text" value=""/><br/></label> 
<label for="txtCognome"><input id="txtCognome" type="text" value=""/><br/></label> 
<button id="btnSalva"/>Salva</button><br/> 

<script> 
    var model = { nome: "Mario", cognome: "Rossi" }; 

    var view = { 
     txtNome: document.getElementById("txtNome"), 
     txtCognome: document.getElementById("txtCognome"), 
     btnSalva: document.getElementById("btnSalva") 
    }; 

    var controller; 
     controller = { 

     init: function() { 
      view.txtNome.value = model.nome; 
      view.txtCognome.value = model.cognome; 
      view.btnSalva.onclick = controller.salva; 
     }, 

     salva: function() { 
      model.nome = view.txtNome.value; 
      model.cognome = view.txtCognome.value; 
      window.alert("FATTO"); 
     } 
    }; 
</script> 
+0

歡迎的ECMAScript的世界又名JavaScript的!因爲您忘記將**事件偵聽器**添加到按鈕。按鈕_clicks_時將執行的功能。 –

+0

你在使用某種MVC框架嗎?沒有什麼「運行」 - 只是一堆變量。 –

+1

將'view.btnSalva.onclick = controller.salva'改爲'view.btnSalva.onclick = this.salva' 使用** this **並且不要忘記調用init方法.. onclick等等。 – animaacija

回答

2

你需要調用controller.init(),否則你的代碼什麼也不做,你剛纔宣佈的一些對象。

var model = { nome: "Mario", cognome: "Rossi" }; 
 

 
var view = { 
 
    txtNome: document.getElementById("txtNome"), 
 
    txtCognome: document.getElementById("txtCognome"), 
 
    btnSalva: document.getElementById("btnSalva") 
 
}; 
 

 
var controller; 
 
controller = { 
 

 
    init: function() { 
 
    view.txtNome.value = model.nome; 
 
    view.txtCognome.value = model.cognome; 
 
    view.btnSalva.onclick = controller.salva; 
 
    }, 
 

 
    salva: function() { 
 
    model.nome = view.txtNome.value; 
 
    model.cognome = view.txtCognome.value; 
 
    window.alert("FATTO"); 
 
    } 
 
}; 
 

 
controller.init(); //call init!
<label for="txtNome"><input id="txtNome" type="text" value=""/><br/></label> 
 
<label for="txtCognome"><input id="txtCognome" type="text" value=""/><br/></label> 
 
<button id="btnSalva"/>Salva</button><br/>

+1

謝謝!很明顯,我爲此而感到羞恥! – Simon

+1

沒問題,有時會發生! –