PHP / HTML:使用php创建一个元素,只需单击一个按钮即可

时间:2014-02-26 11:51:13

标签: php html

我一直在尝试做一些非常复杂的事情(在我看来,因为它并不像我想要的那样完成)。我想要的是,我有一个文本字段,我输入内容,然后旁边是一个按钮,当你在文本字段中键入内容时,然后按下按钮将出现一个新的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。

3 个答案:

答案 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>";

并确保您也修复了所有其他语法错误。