有一個文本框,我只想輸入數字,輸入第6個數字我想通過點擊客戶端隱藏按鈕的onclick事件(服務器端)我想在其中做一些操作。如何在onchange事件中調用javascript中的兩個函數
我面對的問題是,當我在文本框中輸入任何數字時,運行下面的代碼示例時,只調用第一個方法AllowNumericOnly()而不調用第二個方法callMethod()即使在第一個方法返回後真正的價值。
爲什麼,我不明白?
<script type="text/javascript">
function callMethod()
{
alert('1');
var PinCodeValue=document.getElementById('txtTest').value;
var Pincodelength = PinCodeValue.length;
if(Pincodelength>4)
{
alert('Pincodelength>4');
document.getElementById('Button1').click();
return true;
}
return false;
}
function AllowNumericOnly(e, t) {
try {
if (window.event) {
var charCode = window.event.keyCode;
}
else if (e) {
var charCode = e.which;
}
else { return true; }
if ((charCode > 47 && charCode < 58) || charCode == 8 || charCode == 0)
{
alert('true');
return true;
}
else
{
alert('false');
return false;
}
}
catch (err) {
alert(err.Description);
}
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtTest" runat="server" MaxLength="7" onkeypress="return AllowNumericOnly(event,this); callMethod();" AutoPostBack="true"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" Style="display: none" OnClientClick="alert1();"
OnClick="Button1_Click" />
</div>
</form>
</body>
創建一個調用兩個函數的新函數,onchange然後調用新函數 –
只需使用一個方法'callMethod()'並從那裏調用'AllowNumericOnly'。只有在輸入了足夠多的有效字符時,您纔會調用所有代碼。 – Tanner