我一直在尝试做一些非常复杂的事情(在我看来,因为它并不像我想要的那样完成)。我想要的是,我有一个文本字段,我输入内容,然后旁边是一个按钮,当你在文本字段中键入内容时,然后按下按钮将出现一个新的html元素(一个包含在那里你在文本字段中输入的文本)。现在,我一直在尝试这么多不同的方式。这是我现在使用的代码:
<html>
<head>
<style>
div.cat {
width: 200px;
height: 25px;
border: 1px solid black;
}
</style>
</head>
<?php
$form = "<form method=\"post\" action=\"<?php echo $_SERVER['PHP_SELF']; ?>\"><input type=\"text\" name=\"name\"><br><input type=\"submit\" value=\"Submit\"></form>";
function newCategory() {
$categoryname = $_POST['name'];
$category = "<div class=\"cat\"> <?php $categoryname ?> </div>"
echo $category;
}
?>
<body>
<?php
echo $form;
newCategory();
?>
</body>
</html>
现在,问题似乎是如果按下按钮,newCategory()
功能将不再执行。请帮忙!
编辑:问题在于语法错误。尽管我现在知道出了什么问题,但它仍然没有像我希望的那样工作。我想我必须使用JavaScript。
答案 0 :(得分:5)
试试这段代码......
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<input type="text" id="text1"/>
<input type="button" id="btn" value="Button"/>
<div id="div1">
</div>
<script>
$('#btn').click(function(){
var gettext=document.getElementById("text1").value;
var temp=document.createElement("input");
temp.id="text2";
temp.value=gettext;
$("#div1").html(temp);
});
</script>
答案 1 :(得分:2)
你有语法错误, 用这个代替你的整个代码,它运作良好
<html>
<head>
<style>
div.cat {
width: 200px;
height: 25px;
border: 1px solid black;
}
</style>
</head>
<?php
$form = "<form method='post' action='".$_SERVER['PHP_SELF']."'><input type='text' name='name'><br><input type='submit' value='Submit'></form>";
function newCategory() {
$categoryname = $_POST['name'];
$category = "<div class='cat'>".$categoryname."</div>";
return $category;
}
?>
<body>
<?php
echo $form;
echo newCategory();
?>
</body>
</html>
答案 2 :(得分:1)
问题在于这行代码:$category = "<div class=\"cat\"> <?php $categoryname ?> </div>"
。
你不能在另一组php标签中加载php标签<?php ?>
。
只需将其更改为:$category = "<div class=\"cat\">".$categoryname."</div>";
。
并确保您也修复了所有其他语法错误。