Php 动态添加的输入字段通过验证,无法提交到其他页面

Php 动态添加的输入字段通过验证,无法提交到其他页面,php,dynamic,jquery-validate,submit-button,Php,Dynamic,Jquery Validate,Submit Button,我是初学者,在动态添加的输入字段中,当通过验证并提交到另一个页面时,我无法提交 遵循脚本示例 <script src="js/jquery-3.1.1.min.js"></script> <script src="js/jquery.validate.js"></script> <script type="text/javascript"> $(document).ready(function() { var nu

我是初学者,在动态添加的输入字段中,当通过验证并提交到另一个页面时,我无法提交

遵循脚本示例

<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/jquery.validate.js"></script>
<script type="text/javascript">
   $(document).ready(function() {
        var numberIncr = 1; // used to increment the name for the inputs

        function addInput() {
            $('#inputs').append($('<input class="comment" name="name'+numberIncr+'" />'));
            numberIncr++;
        }

        $('form.commentForm').on('submit', function(event) {

            // adding rules for inputs with class 'comment'
            $('input.comment').each(function() {
                $(this).rules("add", 
                    {
                        required: true
                    })
            });            

            // prevent default submit action         
            event.preventDefault();

            // test if form is valid 
            if($('form.commentForm').validate().form()) {
                console.log("validates");
            } else {
                console.log("does not validate");
            }
        })

        // set handler for addInput button click
        $("#addInput").on('click', addInput);

        // initialize the validator
        $('form.commentForm').validate();

   });


</script>

$(文档).ready(函数(){
var numberIncr=1;//用于增加输入的名称
函数addInput(){
$('#inputs')。追加($('');
numberIncr++;
}
$('form.commentForm')。关于('submit',函数(事件){
//为类为“comment”的输入添加规则
$('input.comment')。每个(函数(){
$(此).rules(“添加”,
{
必填项:true
})
});            
//防止默认提交操作
event.preventDefault();
//测试表单是否有效
if($('form.commentForm').validate().form()){
console.log(“验证”);
}否则{
console.log(“不验证”);
}
})
//设置addInput按钮的处理程序单击
$(“#添加”)。在('单击',添加“);
//初始化验证器
$('form.commentForm').validate();
});
通过验证后,单击提交到操作=“/action\u page\u post.php”

和HTML代码

<form class="commentForm" method="get" action="/action_page_post.ph">
    <div>

        <p id="inputs">    
            <input class="comment" name="name0" />
        </p>

    <input class="submit" type="submit" value="Submit" />
    <input type="button" value="add" id="addInput" />

    </div>
</form>


我所做的更改

  • 将('submit')上的
    更改为
    submitbutton.onclick
  • 添加了
    $('.commentForm').submit()
原因:由于您使用的是
event.preventDefault()
,它将阻止表单的默认行为,因此不会转到下一页。因此,您必须使用
$(form).submit()手动提交表单
下面的代码可以在普通页面上运行,但不能在SO代码段上运行

$(文档).ready(函数(){
var numberIncr=1;//用于增加输入的名称
函数addInput(){
$('#inputs')。追加($('');
numberIncr++;
}
$('input.submit')。单击(函数(事件){
//为类为“comment”的输入添加规则
$('input.comment')。每个(函数(){
$(此).rules(“添加”,
{
必填项:true
});
});            
//防止默认提交操作
event.preventDefault();
//测试表单是否有效
if($('form.commentForm').validate().form()){
console.log(“验证”);
$('.commentForm').submit();
}否则{
console.log(“不验证”);
}
})
//设置addInput按钮的处理程序单击
$(“#添加”)。在('单击',添加“);
//初始化验证器
$('form.commentForm').validate();
});


我认为action有问题……请正确检查您的文件名,它将是action\u page\u post.php而不是。ph非常感谢!嗯。谢谢@Sparky,这是个打字错误。更正。