动态jQuery没有发布.append()之后添加表单的输入

时间:2016-05-06 02:07:33

标签: javascript php jquery html

除了我,我使用追加添加输入,但是帖子表单不添加输入数据。

请跟我说说,我该怎么办,非常感谢!

HTML代码

<form class="form_a" action="test_a.php" method="POST" >
    <div class="language">
        <div class="append">

        </div>
        <button type="button" class="add">add Button</buttond>

        <input type="submit" value="click me submit form">
    </div>
</form>

Javascript代码

$('.language .add').click(function(){
    $('.language .append').append(
        '<input name="language[]" class="form-control" value="test">'
    );
});

PHP代码

<?php
  print_r($_POST);
?>

1 个答案:

答案 0 :(得分:0)

首先,您必须使用正确的jQuery选择器来获取“提交”按钮。

接下来,您不能像在PHP中那样在代码中添加换行符 - 您必须转义任何换行符:

$('.language .append').append(\
    '<input name="language[]" class="form-control" value="test">'\
);

$('input[type=submit]').click(function(e){
  e.preventDefault();
  $('.language>.append').append('<input name="language[]" class="form-control" value="test">');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<form class="form_a" action="test_a" method="POST" >
  <div class="language">
    <div class="append">

    </div>
    <label class="add"></label>

    <input type="submit" value="click">
  </div>
</form>

注意:使用ID属性捕获“提交”按钮是个好主意(但是,您不能使用单词submit作为ID)。类似的东西:

<input id="btnSubmit" type="submit" value="click">


$('#btnSubmit').click(function(){
  $('.language>.append').append('<input name="language[]" class="form-control" value="test">');
});

注意:答案示例代码段中的e.preventDefault()是为了防止FORM元素执行其默认操作并在您有机会看到DOM更改之前导航离开页面。