2014-10-06 37 views
-3

我想創建一個循環,當用戶按下按鈕的「+」標誌顯示在屏幕上,但只有一次,它似乎並沒有工作。我希望它在單擊按鈕時顯示一次「+」符號,然後再次按下按鈕時,我不希望它顯示,除非將a的值更改爲true。誰能幫忙?問題與做 - while循環(javascript)

下面的例子僅僅是我整個的代碼我測試的目的是在文本框

<!DOCTYPE html> 
<html> 

<head> 
    <script> 
    function one() 
     {document.frm.result.value +="1";} 

     function three() 
     { 
     document.frm.result.value +="3"; 
     } 

     function plus() 
     { 
      do{ 
       var a; 
       document.frm.result.value = "+"; 

       var a = false; 
       }while(a == 'true') 
       } 

     function evaluo() 
     { 
     var evalu = eval(document.frm.result.value); 

      document.frm.result.value = evalu; 
     } 

    </script> 
</head> 
<body> 


    <input type="button" value="2" name="2" onclick="dis()" id="test"> 
    <input type="button" value="3" name="3" onclick="three()" id="test3"> 
    <input type="button" value="+" name="plus" onclick="plus()" id="test2"> 
    <input type="button" value="evalu" onclick="evaluo()" id="e"> 


    <form name="frm"> 
    <input name="result"> 
    <div class="cal"> 
    <div id="left"> 
     <input type="text" value="" id="test1"> 

    <div id="bt1">1</div> 
    <br> 
    <div id="bt2">2</div> 
    </div> 

    <div id="cen"> 
     <div id="bt1">3</div> 
    <br> 
    <div id="bt2">4</div> 
    </div> 

    </div> 

    <div id="right"> 
     <div id="bt1" onclick="one()">35</div> 
    <br> 
    <div id="bt2">4</div> 
    </div> 

    </div> 

    </div> 
</form> 

</body> 

+0

這是什麼迴路?請發佈一個_working_示例,現在問題還不是很清楚...... – 2014-10-06 08:20:34

+1

該循環只知道一個迭代,所以這個代碼基本上與'document.frm.result.value + =「+」相同;'沒有所有其他的東西。 – GolezTrol 2014-10-06 08:21:43

+0

@AdrianoRepetti循環是爲了讓我可以做3 + 3而不是3 + 3 + 3。我只想在計算中能夠顯示「+」號。我提供了一個例子。對不起,代碼是一團糟。 – user3115683 2014-10-06 08:51:19

回答

0

的循環體將只執行一次,只有一次顯示加號。之後,控制流程將繼續執行任何後面的代碼或調用函數。你可能不希望爲此使用循環,你只需要一個函數,它可以在你點擊按鈕時調用它。

例如,如果你的函數被稱爲displayPlus那麼你可以給你的按鈕,一個onclick屬性如下:<button onclick="displayPlus()">

編輯:這聽起來像你想的方式有條件地決定是否顯示另外再加當按鈕被點擊。如果你有邏輯可以確定這是否應該在按下按鈕時完成,那麼這可以包含在該功能中。例如,如果只想在輸入的前一個字符不是加號的情況下只添加另一個字符,則此方法將起作用。

否則,您可以擁有一個全局布爾變量,並在每次點擊加號按鈕時檢查其值,以確定是否打印另一個加號。

+0

嗨,我做到了,但我想要的是一個循環,它可以讓我控制它顯示的「+」號的數量。現在它每次按下按鈕時都會顯示一個「+」符號,但我想控制它,所以當我再次按下按鈕時,它不會顯示加號,除非我改變循環的條件。 – user3115683 2014-10-06 08:44:46