通过onclick发送输入

时间:2014-12-26 00:37:33

标签: javascript forms post

是否可以添加以相同的形式单击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>

1 个答案:

答案 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点火,您可以做更多事情,比如向用户显示提交成功的消息......可能会禁用提交按钮,这样他们就可以轻松地用服务器敲击服务器等等......我真的希望这有帮助!