我正在使用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 我会感谢任何帮助。
答案 0 :(得分:4)
in tpl
<script type="text/javascript">
$(document).ready(function() {
$("#tags-input").tagit({
fieldName: "tag[]",
availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});
});
</script>
在backend print_r($ _ POST)中使用fieldName:“tag []”属性并检查它将显示的内容
答案 1 :(得分:1)
ul
不是要提交的表单元素,它是一个UI元素。你需要在数组索引周围使用引号,如下所示:
if (isset($_POST['submit'])) {
答案 2 :(得分:1)
代码应如下所示:
<?
if ($_POST['submit']) {
$tags = $_POST['mytags'];
echo $tags;
}
?>
你忘记了封闭的'
如果您忘记了php将$_POST[submit]
中的提交视为常量
编辑:
试试这个:
<?
var_dump($_POST);
?>
答案 3 :(得分:0)
应该有 NO 发布的数据
您的代码不使用任何输入字段!
答案 4 :(得分:0)
acutal标签存储在为每个标签创建的表单字段中:
function create_choice (value) {
// some stuff
el += "<input type=\"hidden\" style=\"display:none;\" value=\""+value+"\" name=\"item[tags][]\">\n";
// some other stuff
}
因此,您必须注意不要使用'mytags',而应该注意PHP代码中的 $ _ POST ['item'] ['tags'] ,然后会为您提供一系列标记。< / p>
答案 5 :(得分:0)
查看您的插件,它似乎会在您添加标记时动态创建隐藏的输入字段。
假设代码的一部分实际工作,请将以下内容放入PHP代码中。
<?php
var_dump($_POST); //this has to be in the page you POST to
?>
查看您的所有代码是否都显示出来。如果是,那么你的JS工作,你的PHP有问题。 正如用户@ITroubs所提到的,您应引用数组索引。看看是否能解决问题。
如果没有显示数据,那么您的JS插件无法正常工作。
使用firebug,添加几个标签并检查列表的LI元素内部,看看是否正在创建任何隐藏的INPUTS。
还要检查是否有任何JS错误被报告。
答案 6 :(得分:0)
经过测试和解决:
<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
}
?>