表单验证动态创建的元素不起作用 [英] Form validation dynamic created element not working

查看:66
本文介绍了表单验证动态创建的元素不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在页面中有一些字段(动态创建),我正在尝试提交表单上的每个元素.Bellow代码是示例,只有txtAge字段验证,txtName没有验证。是否有任何选项可以用波纹管代码验证每个字段?



我的尝试:



I have some fields (created dynamically) in a page and I am trying to each element on form submit .Bellow code is sample ,only txtAge field validate, txtName not validating .Is there any option to validate each field with bellow code?

What I have tried:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script>
        function txtName_FormValidation() {
            document.getElementById('entryForm').onsubmit = function (e) {
                if (document.getElementById('txtName').value.length <= 0) {
                    alert(1)
                    document.getElementById('span_txtName').innerHTML = 'Please Enter Name.'
                    return false;
                };
            }
        }
        function txtAge_FormValidation() {
            document.getElementById('entryForm').onsubmit = function (e) {
                if (document.getElementById('txtAge').value.length <= 0) {
                    alert(2)
                    document.getElementById('span_txtAge').innerHTML = 'Please Enter Age.'
                    return false;
                };
            }
        }
    </script>
</head>
<body onload="txtName_FormValidation(); txtAge_FormValidation()">
    <form id="entryForm">
        <input type="text" id="txtName" />
        <span id="span_txtName"></span>
        <br />
        <input type="text" id="txtAge" />
        <span id="span_txtAge"></span>
        <br />
        <button type="submit" value="Sebmit">Submit</button>
    </form>
</body>
</html>

推荐答案

尝试



try

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script>
        function formValidation() {
            document.getElementById('entryForm').onsubmit = function (e) {
                debugger
                var span_txtName = document.getElementById('span_txtName');
                var span_txtAge = document.getElementById('span_txtAge');
                span_txtName.innerHTML = ''
                span_txtAge.innerHTML = ''

                var isValid = true;
                if (document.getElementById('txtName').value.length == 0) {
                    span_txtName.innerHTML = 'Please Enter Name.'
                    isValid = false;
                }
                if (document.getElementById('txtAge').value.length == 0) {
                    span_txtAge.innerHTML = 'Please Enter Age.'
                    isValid = false;
                };
                return isValid;
            }
        }
    </script>
</head>
<body onload="formValidation()">
    <form id="entryForm">
        <input type="text" id="txtName" />
        <span id="span_txtName"></span>
        <br />
        <input type="text" id="txtAge" />
        <span id="span_txtAge"></span>
        <br />
        <button type="submit" value="Sebmit">Submit</button>
    </form>
</body>
</html>


这篇关于表单验证动态创建的元素不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆