2014-02-26 35 views
1

我一直在尝试做一些非常复杂的事情(在我看来,因为它不像我想要的那样工作)。我想要的是,我有一个文本字段,在其中键入某个内容,然后在该旁边是一个按钮,当您在文本字段中键入某个内容时,然后按按钮,将出现一个新的html元素(一个框在那里输入您在文本字段中输入的文本)。现在,我一直在尝试多种不同的方式。以下是我现在使用的代码:PHP/HTML:使用php创建一个元素,点击一个按钮

<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。

+2

PHP是一个服务器端语言。一旦页面呈现完成,它将完成执行,因此如果您尝试在不刷新页面的情况下创建新的HTML元素,这将无法工作。改用JavaScript。 –

+2

请确保您先了解这一点:[参考:为什么我的Javascript中的PHP(或其他服务器端)代码无法正常工作?](http://stackoverflow.com/questions/13840429/reference-why-does-the -php-or-other-server-side-code-in-my-javascript-not-wor) – deceze

+1

在你的代码$ form中看到一个错误应该是这样的: '$ form =“


“' – CodeBird

回答

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> 
+0

感谢您的回复,它确实有效,但我并不想这样做。 Upvote虽然努力。谢谢! – YSbakker

+0

@YSbakker然后告诉我朋友...你想要什么?我会尽力。 –

+0

没关系,这毕竟是我想要的方式。非常感谢。 – YSbakker

1

问题出在这行代码:$category = "<div class=\"cat\"> <?php $categoryname ?> </div>"。 您不能将php标签<?php ?>放入另一组php标签中。

只需将其更改为:$category = "<div class=\"cat\">".$categoryname."</div>";

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

+0

我明白了,我想我错过了那些。感谢您告诉。 – YSbakker

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> 
+0

感谢您付出如此多的努力。我现在看到出了什么问题。它工作,但仍然不是我希望它工作的方式。我想我需要JavaScript。 – YSbakker