作者 主題: javascript 判斷欄位的問題  (閱讀 4707 次)

0 會員 與 1 訪客 正在閱讀本文。

fighting neeb

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
javascript 判斷欄位的問題
« 於: 2012-02-03 16:37 »
我用了下面這段程式去判斷輸入欄位跟計算金額,只有一個欄位的時候是成功的
但是我想增加欄位以後就無法判斷了,不知道是哪裡的問題,請各位大大提點一下,感恩

只有一個欄位的程式碼
代碼: [選擇]
<script type="text/javascript">
window.onload = function(){
    document.getElementById("apple").onkeyup = function(){
if (isNaN(this.value.valueOf()) || this.value == "" || this.value < 0 || this.value.indexOf(" ")!=-1)  {
       alert("請輸入正確數字!");
   return false;
    }
        if(!isNaN(this.value) && this.value != ""){
            document.getElementById("total").innerHTML = (parseInt(this.value, 10) * 100) + "元";
        }else{
            document.getElementById("total").innerHTML = "";
        }
    };
};
</script>
 <body>
輸入數量:<input type="text" id="apple" /><span id="total">出現金額</span>
</body>
兩個欄位的程式碼
代碼: [選擇]
<script type="text/javascript">
window.onload = function(){
    document.getElementById("apple").onkeyup = function(){
if (isNaN(this.value.valueOf()) || this.value == "" || this.value < 0 || this.value.indexOf(" ")!=-1)  {
       alert("請輸入正確數字!");
   return false;
    }
        if(!isNaN(this.value) && this.value != ""){
            document.getElementById("total").innerHTML = (parseInt(this.value, 10) * 100) + "元";
        }else{
            document.getElementById("total").innerHTML = "";
        }
    };
document.getElementById("apple1").onkeyup = function(){
if (isNaN(this.value.valueOf()) || this.value == "" || this.value < 0 || this.value.indexOf(" ")!=-1)  {
       alert("請輸入正確數字!");
   return false;
    }
        if(!isNaN(this.value) && this.value != ""){
            document.getElementById("total1").innerHTML = (parseInt(this.value, 10) * 100) + "元";
        }else{
            document.getElementById("total1").innerHTML = "";
        }
    };
};
</script>
 <body>
輸入數量:<input type="text" id="apple" /><span id="total">出現金額</span>
輸入數量:<input type="text" id="apple1" /><span id="total1">出現金額</span>
</body>

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
Re: javascript 判斷欄位的問題
« 回覆 #1 於: 2012-02-04 01:37 »
小弟照貼了兩段都可動作
若您不行 , 小弟有以下兩個方向 ..

1. 把關鍵字改成 android , 說不定您的 browser 就吃了

2. 看這寫法跟目前流行趨勢 ...
應該是 ajax 之類的吧

若是由 ajax 方式取來 javascript code
也只視為一段文字 , 不會載入 function 喔

所以當網頁一開啟時
function abc(){ alert("123"); } 載入 "網頁完成" 後
"再 ajax" 傳一段
function abc(){ alert("456"); }
dom 中那段文字雖改 , 但宣告於記憶體的 abc() 仍是 123

小弟的解法是 location.href="javascript:"+ajax_js;
邏輯來自在網址列打入 'javascript:function abc(){ alert("456"); }'
但這招在某些環境被視為非法的危險行為

不知道哪位大大有更佳的方式可分享


PS:
但小弟沒試過使用在 window.onload = function() 中
一段一直在執行的動作能不能改 , 您嚐試看看吧
« 上次編輯: 2012-02-04 01:40 由 dark »

fighting neeb

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
Re: javascript 判斷欄位的問題
« 回覆 #2 於: 2012-02-04 09:59 »
感恩!今天重新再試了一次,把其它無關的東西都先註掉,果然是變數跟呼叫的問題
javascript碼是沒問題的,希望程式碼可以幫助到其它人^^