2013-03-29 24 views
1

我寫的代碼,用於驗證物有所值的如何編寫多個文本框功能在Javascript

 function monyValid() 
     { 

     var valw=document.getElementById("<%=txtID4.ClientID%>").value; 
     var regex = /(?:^\d{1,3}(?:\.?\d{2})*(?:,\d{2})?$)|(?:^\d{1,3}(?:,?\d{3})*(?:\.\d{2})?$)/    
     if (!isNaN(valw) && isFinite(valw)) 
     { 
     document.getElementById("<%=txtID4.ClientID%>").value=parseFloat(valw).toFixed(2); 
     }   
     if (regex.test(valw)) 
     {   
      alert("valid"); 
     } 
     else 
     { 
      alert("Number is invalid"); 
     } 
     } 

現在我想相同的驗證適用於多個文本框。我怎樣才能爲不同的文本框使用相同的功能。我想要類似

 function monyValid(txtVal) 
     {   
     var valw=document.getElementById(txtVal).value; 
     } 

如何實現此功能。

回答

1

傳入this並將其用作函數中的參數而不是調用document.getElementById

的JavaScript

function monyValid(item) { 
    var valw = item.value; 
    var regex = /(?:^\d{1,3}(?:\.?\d{2})*(?:,\d{2})?$)|(?:^\d{1,3}(?:,?\d{3})*(?:\.\d{2})?$)/ 
    if (!isNaN(valw) && isFinite(valw)) { 
     item.value = parseFloat(valw).toFixed(2); 
    } 
    if (regex.test(valw)) { 
     alert("valid"); 
    } else { 
     alert("Number is invalid"); 
    } 
} 

HTML使用

<asp:TextBox ID="txtID4" runat="server" onFocus="onEnter(this)" onblur="onLeave(this);monyValid(this);" TabIndex="4"></asp:TextBox> 
+0

我調用的函數作爲 的」);「 TabIndex =「4」> 給出錯誤爲 錯誤服務器標記不能包含<% ... %>結構。 –

+0

啊,你是這樣使用它的。我改變了答案,認爲應該起作用。 –

+0

明白了..謝謝 –