[英]Receive form input data with PHP POST
我正在使用jQuery tag-it插件,该插件基本上具有一个输入字段。 一切正常,但是我无法通过使用PHP提交表单来接收输入字段的值。
这是表单部分:
<form action="<?=$PHP_SELF?>" method="post">
<div class="line">
<label for="tags">Tags</label>
<ul id="mytags"></ul>
</div>
<input name="submit" value="Submit" type="submit" />
</form>
这是PHP部分:
<?
if ($_POST[submit]) {
$tags = $_POST[mytags];
echo $tags;
}
?>
该插件的演示位于此处: http : //levycarneiro.com/projects/tag-it/example.html ,而javascript代码位于: http : //levycarneiro.com/projects/tag-it/js/tag- it.js我将非常感谢您的帮助。
在tpl中
<script type="text/javascript">
$(document).ready(function() {
$("#tags-input").tagit({
fieldName: "tag[]",
availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});
});
</script>
在后端print_r($ _ POST)中使用fieldName:“ tag []”属性,并检查其显示内容
ul
不是要提交的表单元素,而是UI元素。 并且您需要在数组索引周围使用引号,例如: if (isset($_POST['submit'])) {
代码应如下所示:
<?
if ($_POST['submit']) {
$tags = $_POST['mytags'];
echo $tags;
}
?>
您忘记了其中的'
如果您忘记了php将$_POST[submit]
中的$_POST[submit]
视为一个常量
编辑:
尝试这个:
<?
var_dump($_POST);
?>
应该没有发布的数据
您的代码不使用任何输入字段!
自动标签存储在为每个标签创建的以下表单字段中:
function create_choice (value) {
// some stuff
el += "<input type=\"hidden\" style=\"display:none;\" value=\""+value+"\" name=\"item[tags][]\">\n";
// some other stuff
}
因此,您必须注意PHP代码中的$ _POST ['item'] ['tags'] ,而不是'mytags',它会为您提供一系列标签。
查看您的插件,似乎在添加标签时动态创建了隐藏的输入字段。
假设部分代码确实有效,请将以下内容放入您的PHP代码中。
<?php
var_dump($_POST); //this has to be in the page you POST to
?>
查看是否显示了所有标签。 如果是这样,则您的JS可以正常工作,而您的PHP却有问题。 正如用户@ITroubs提到的那样,您应该引用数组索引 。 看看是否能解决问题。
如果未显示任何数据,则说明您的JS插件无法正常工作。
使用Firebug,添加几个标签,并检查列表的LI元素内部,看看是否正在创建任何隐藏的INPUTS。
同时检查是否报告了任何JS错误。
经测试解决:
<form action="<?=$PHP_SELF?>" method="post">
<div class="line">
<label for="tags">Tags</label>
<ul id="mytags" name="item[tags][]"></ul>
</div>
<input name="submit" value="Submit" type="submit" />
</form>
这是PHP部分:
<?
if ($_POST[submit]) {
$tags = $_POST["item"]["tags"];
foreach($tags as $i=>$v)
{
$tagsf .= $v;
if($i < (count($tags)-1))
$tagsf .= ",";
}
echo $tagsf;
//This shows the tags with ",". Example: dog,cat,bird,onion
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.