2013-03-22 60 views
2

我正在使用Rails實現一個非常簡單的JavaScript FizzBu​​zz應用程序,但我似乎無法獲取窗體及其按鈕的工作方式。我知道這是非常粗糙的代碼,其中一些是HTML和JavaScript,而不是Ruby,因爲我比前者更熟悉後者。FizzBu​​zz應用程序的jQuery按鈕

這裏是我的形式:

<p>In this field, put the starting number. It must be a positive integer <50.</p> 
<form name="FizzBuzz Form"> 
<input type="text" name="fizzBuzzStart"/> 
</form> 
<div class="button" id="start">Add!</div><br> 
<p>In this field, put the ending number. It must be a positive integer >50.</p> 
<form name="FizzBuzz Form"> 
<input type="text" name="fizzBuzzEnd"/> 
</form> 
<div class="button" id="end">Add!</div><br><br> 
<div class="button" id="play">Let's play!</div><br> 

這是我的script.js文件:

$("#start").click(function(){ 
    var start = $("input[name=fizzBuzzStart]").val();}); 
$("#end").click(function(){ 
    var end = $("input[name=fizzBuzzStart]").val();}); 
$("#play").click(function(){ 
    for (var i=start; i<=end; i++) { 
     if (i%15===0){console.log("FizzBuzz");} 
      else if (i%3===0){console.log("Fizz");} 
      else if (i%5===0){console.log("Buzz");} 
      else {console.log(i);} }});}); 

任何意見將不勝感激!

+0

一件事,你正在使用fizzBu​​zzStart而不是兩次fizzBu​​zzStart和fizzBu​​zzEnd。另一方面,你應該告知是什麼你是作爲輸出看到的。 – sberry 2013-03-22 07:04:40

+0

我甚至沒有注意到重複的fizzBu​​zzStart。謝謝你收到。 我看不到輸出,因爲我的按鈕不工作。那是你問的嗎? 謝謝你試圖幫助。正如我所說,我對編碼還很陌生,實在不知道自己在做什麼。 – sodabottle37 2013-03-22 07:38:28

回答

0

主要問題是startend被用作局部變量,所以它們一旦被設置就被有效地丟棄。使它們成爲全局並修復#end點擊處理程序中的字段名稱錯字。

var start, end; 

$("#start").click(function() { 
    start = $("input[name=fizzBuzzStart]").val(); 
}); 

$("#end").click(function() { 
    end = $("input[name=fizzBuzzEnd]").val(); 
}); 

$("#play").click(function() { 
    for (var i = start; i <= end; i++) { 
     if (i % 15 === 0) { 
      console.log("FizzBuzz"); 
     } else if (i % 3 === 0) { 
      console.log("Fizz"); 
     } else if (i % 5 === 0) { 
      console.log("Buzz"); 
     } else { 
      console.log(i); 
     } 
    } 
}); 

演示:http://jsfiddle.net/fJyRb/

+0

這不起作用,因爲點擊處理程序是在輸入值之前觸發的,並且可以選擇輸入字段而無需點擊(即使用Tab),但您對「開始」和「結束」超出範圍是正確的在'#play'點擊處理程序中,所以沒有投票權。 – sberry 2013-03-22 07:13:45

+0

@sberry您是否注意到處理程序未連接到輸入字段,而是連接到它們下面的按鈕?程序邏輯是你必須輸入數字,然後點擊「添加」以將值存儲在變量中。不是非常用戶友好或直觀,但這是OP的。 – JJJ 2013-03-22 07:16:43

+0

非常感謝您對我的應用程序非常友好或直觀。再說一次,我現在正在嘗試的一切都是新手。 我想知道我的變量的可訪問性,但不太清楚如何解決這個問題。我根據你的建議更新了我的script.js文件,但是我的按鈕仍然不起作用。 – sodabottle37 2013-03-22 07:27:45