使用javascript验证表单并将文本返回到html

时间:2015-07-31 18:37:03

标签: javascript html asp.net

我正在使用asp.net构建表单并尝试使用javascript验证它

验证似乎工作正常,但未将文本插入<p></p>标记。我没有正确使用document.getElementById("errorEmail").innerHTML = text;或什么?

下面是我的代码,我添加了一个alert来帮助解决问题并且alert正在运行,因此我知道条件有效且将值设置为text

    <script>
    function validateForm() {
    alert("testing");

    var x, text;

    x = document.forms["form1"]["textEmail"].value;

    if (x == null || x == "" || x == "Email") {
        alert("testing if conditional");
        text = "Please input your eamail";
        alert(text);
    }
    document.getElementById("errorEmail").innerHTML = text;

    }
    </script>

<form id="form1" runat="server">

        <p id="errorEmail"> </p>
        <asp:TextBox ID="textEmail" runat="server" placeholder="Email" name="email"></asp:TextBox>

        <asp:Button ID="buttonSubmit"  runat="server" Text="Submit Request" OnClientClick="return validateForm();"/>

</form>

3 个答案:

答案 0 :(得分:1)

您正在设置文本的方式似乎没有问题。

我不知道asp.net如何工作但是从JavaScript的角度来看我可以说你应该在出错的情况下返回false。似乎您的页面在提交后立即刷新。

lib1.so

这是我设置的小提琴,希望它有所帮助。

http://jsfiddle.net/91wbrzL8/

答案 1 :(得分:0)

这是有问题的行(无法获取对表单的引用以及稍后对文本字段的引用):

x = document.forms["form1"]["textEmail"].value;

改为使用:

x = document.getElementById("textEmail").value;

答案 2 :(得分:0)

您显示文本的代码是正确的,问题是您在其他地方有javascript错误。调试你的javascript以找到错误的来源。