[英]How to pass a textbox (not the value of textbox) to Javascript validate function
我有一個HTML注冊表。 我想使用JavaScript進行驗證。 我想將文本框(而不是值)傳遞給JavaScript,這樣就不必多次編寫document.getElementById("Textname").value
。 我希望我的JavaScript函數選擇HTML活動控件,或者將該控件傳遞給該函數。
我的HTML代碼:
<i>table>
<tr><td>
First Name</td>><td><input type="text" id="fname" runat="server" /></td></tr>
<tr><td>last Name</td>><td><input type="text" id="lname" runat="server" /></td></tr>
<tr><td>Phone</td>><td><input type="text" id="phone" runat="server" /></td></tr>
<tr><td>email</td>><td><input type="text" id="email" runat="server" /></td></tr>
<tr><td>password</td>><td><input type="password" id="pass" runat="server" /></td></tr>
<tr><td>image</td>><td><input type="file" id="image" runat="server" /></td></tr>
<tr><td rowspan="2">Sex</td>><td>Male<input type="radio" id="male" runat="server" value="male" /></td></tr>
<tr><td colspan=".5">female<input type="radio" runat="server" id="female" /></td></tr>
<tr><td>submit</td>><td><input type="submit" id="submit" runat="server" value="SUBMIT"/></td></tr>
<tr><td>reset</td>><td><input type="reset" id="res" runat="server" /></td></tr>
<tr><td><button id="save" runat="server" value="save" ></button></td></tr>
</table><i/>
JavaScript代碼:
function cont(textbox)
{
var name=document.getelementbyId(textbox).value;
var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
var regletter = /[a-zA-z]/;
if (uname == "")
{
alert("please enter ");
document.getelementbyid(textbox)style.background = "grey";
document.getElementById(textbox).focus;
}
您可以將其存儲到var中,這樣就不必多次使用document.getElementById
。
var element = document.getElementById(textbox);
var name = element.value;
var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
var regletter = /[a-zA-z]/;
if (uname == "") // are you sure it's `uname` and not `name` ?
{
alert("please enter ");
element.background = "grey";
element.focus();
}
在不檢查您提供的代碼的有效性的情況下,解決方案非常簡單:
function cont(textbox)
{
var name = textbox.value;
var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
var regletter = /[a-zA-z]/;
if (uname == "") {
alert("please enter ");
textbox.style.background = "grey";
textbox.focus;
}
// ...
}
// execute the function
cont(document.getElementById('Textname'));
得到了答案。 為了避免使用重復代碼,請使用“ this”。 “這”指當前控制。 下面是一個使用它的小例子。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" >
function chk(a) {
alert(a.value);
}
</script>
<title></title>
</head>
<body>
<form id="f1" method="post" action="Default.aspx" >
<input type="text" id="num1" onblur="chk(this)" />
</form>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.