通过点击发送输入

Sending input by onclick

本文关键字:输入      更新时间:2023-09-26

是否可以以相同的形式添加到文本区域中的注释中? 我如何在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>

我不太确定你想做什么。但我认为你把这件事复杂化了。 定义您的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后,您可以执行更多操作,例如向用户显示提交成功的消息...也许禁用提交按钮,这样他们就无法轻松地用消息锤击服务器,等等......我真的希望这有帮助!