<script>
function funcGet(val)
{
if(val=="Create new category")
{
var element = document.createElement("input");
element.setAttribute("type", "input");
element.setAttribute("name", "new_cat");
element.setAttribute("placeholder", "Enter a new category name");
var foo = document.getElementById("cat");
foo.appendChild(element);
}
}
</script>
<div id="cat">
<form method="post" action="">
<input type="text" placeholder="Enter a topic name" name="word"><br/><br/><br/>
<input type="input" name="link" placeholder="Enter a link here"><br/><br/><br/>
<select name ="category" onchange="funcGet(this.value);">
<?php
displayCat();
?>
</select>
<br/><br/>
</div>
<select name="site_type">
<?php
displaySitetype();
?>
</select><br/><br/><br/>
<input type="submit" value="Submit data">
</form>
<?php
if($_POST['category']=="Create new category") {
if($_POST['new_cat'])
{
$new_cat=mysql_real_escape_string($_POST['new_cat']);
create_new_catentry($new_cat);
$catname=$new_cat;
}
?>
我无法在同一页面中使用$ _POST获取new_cat的值。我究竟做错了什么?我无法解决它。我能够从页面上获得所有其他帖子数据而没有任何错误,是否有任何命名错误?我不确定问题是什么,我的Javascript错了吗?
更新:请注意,底部的PHP脚本只是系统的一小部分而不是整个部分。
答案 0 :(得分:2)
在您的JS代码中,您在<input>
div中添加了新的cat
,但这样 <form>
。将您的字段附加到表单,为其分配一个ID,如下所示:
HTML:
<form method="post" action="" id="catform">
JS:
var foo = document.getElementById("catform");
foo.appendChild(element);
答案 1 :(得分:1)
在您的javascript中添加新属性:
element.setAttribute("id", "new_cat");