1

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;
    }
4

3 に答える 3

1

これを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();
}
于 2013-01-16T00:10:48.497 に答える
0

提供したコードの有効性を確認しなくても、解決策はかなり単純です。

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'));
于 2013-01-16T00:17:00.700 に答える
0

答えを得た。繰り返しコードの使用を避けるには、「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>
于 2013-03-26T10:24:18.100 に答える