是否可以添加以相同的形式单击textarea中的注释?以及如何在javascript函数中获取它?
<form id='comments' method='post'>
<textarea rows='8' cols='80' name='comments'></textarea> <br />
<input type='submit' name='send' onclick='sendcomment(".$photoid.",".$mynick.",".$_POST['comments'].")' value='Wyślij'>
</form>
<script>
function sendcomment(photoid, mynick,comments){ }
</script>
答案 0 :(得分:0)
我不确定你要做什么。但我认为你已经过度复杂了。定义您的action
(用于处理请求的PHP控制器),当单击提交按钮时,浏览器将提交表单。
<form id='comments' action='/handler.php' method='post'>
<textarea rows='8' cols='80' name='comments'></textarea> <br />
<input type='submit' name='send' />
</form>
更新:
听起来我想要做的就是通过AJAX提交这些内容。我强烈建议您使用jQuery库来实现此目的。
将其添加到您的页面<head>
标记:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
然后更改您的表单以使用class
,而不是id
,因为每个页面每个名称只能有一个id
。由于您使用的是while
循环,因此需要消除此问题。
<form class='comments' action='/handler.php' method='post'>
<textarea rows='8' cols='80' name='comments'></textarea> <br />
<input type='submit' name='send' />
</form>
现在,我们需要一些jQuery来帮助我们......
$(document).on('submit', '.comments', function(event) {
event.preventDefault();
var serialized = $(this).serialize();
$.ajax({
url: "handler.php",
method: "post",
data: serialized,
})
.done(function(data) {
// take some action when the request completes
});
});
这将阻止单击按钮时提交表单的默认操作,然后jQuery将接管并序列化(字符串化)表单数据并将其作为AJAX请求发送到服务器。一旦.done
点火,您可以做更多事情,比如向用户显示提交成功的消息......可能会禁用提交按钮,这样他们就可以轻松地用服务器敲击服务器等等......我真的希望这有帮助!