【发布时间】:2020-10-28 18:55:45
【问题描述】:
在“term”字段中输入的值到达 test.php 但是字段“AttrName”和“Attribute”中的值不会,即使没有添加更多字段,添加更多字段也可以,但不会发送值。
代码:
<head>
<script src='https://code.jquery.com/jquery-1.12.4.min.js' integrity='sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ' crossorigin='anonymous'></script>
<script src='https://www.jqueryscript.net/demo/dynamic-forms-fields/js/dynamic-form.js'></script>
</head>
<body>
<form action='test.php' method='post'>
<input type='text' name='term' size='60' placeholder='term' required /><br />
<div id='dynamic_form'>
<input type='text' name='AttrName' placeholder='Attribute name' />: <input type='text' name='Attribute' placeholder='Atributte' />
<a href='javascript:void(0)' id='plus'> +</a>
<a href='javascript:void(0)' id='minus'> -</a>
</div>
<script>
var dynamic_form = $('#dynamic_form').dynamicForm('#dynamic_form','#plus', '#minus', {
// the maximum number of form fields
limit: 10,
});
</script>
<br />
<input type='submit' name='submit' id='submit' />
</form>
</body>
UNDATE
test.php:
<?php
echo $term=$_POST['term']."<br />";
echo $AttrName=$_POST['AttrName']."<br />";
echo $Attribute=$_POST['Attribute']."<br />";
?>
【问题讨论】:
-
dynamicForm()甚至在这里做什么,因为$('#dynamic_form')什么也没找到?你能演示表单提交时的状态,在它被这个 JavaScript 修改之后?或者提供一个可运行的示例来演示? -
在 PHP 中我会运行
print_r($_POST);来查看发布的内容。 -
字段名称生成如下:
dynamic_form[dynamic_form][0][AttrName] -
以下两个答案都是正确的,但您还需要将 id 属性添加到您的 AttrName 和 Attribute 输入中,否则 dynamic-form.js 会抱怨并且只发送一个条目。
-
@RobRuchte,是的,你是对的,我会尝试找出如何做到这一点!谢谢大家!
标签: javascript php forms