8

如果我有这种将帖子数据提交到页面本身的表单:

<form method="post">
   <input type="text" name="name"/>
   <input type="submit"/>
</form>

我将如何使用 JavaScript/jQuery 注入额外的 POST 数据。$.post()如果我只使用、$.get()或等任何函数通过 ajax 提交表单,这将更容易$.ajax()。但是我在这里要做的是不通过ajax提交表单。

附加数据在 JavaScript 中。我正在考虑将一个新的隐藏字段注入到 DOM 中,我将在其中传递数据以便它与表单一起提交,但是还有其他方法吗?

如果您需要更多代码/解释,请发表评论。

4

2 回答 2

12

与其使用提交按钮,不如使用常规按钮并通过 Javascript 控制提交。在您的 javascript 中,您需要序列化表单并将其作为数据与您想要的任何其他内容一起传递。

<script>

    $(document).ready(function() {

       var extra_data = "This is more stuff to send";

       $('#submit').click(function() {
          $.ajax({
             type: "POST",
             url: "form.php",
             data: {'form': $("#my_form").serialize(), 'other': extra_data},
             success: function(msg) {
                alert("Form Submitted: " + msg);
             }
          });

       });

    });

</script>

<form id="my_form" method="post">
  <input type="text" name="name" />
  <input type="button" id="submit" />
</form>
于 2012-06-02T14:35:50.207 回答
1
<head>
    <script src="jquery/jquery-1.11.1.min.js"></script>
    <script>
    $(function () {
        $('#form_id').on('click','#submit', function(e){
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: "get_Ajax.php",
                data: $('#form_id').serialize(),
                success: function(data) {
                    alert(data);
                }
            });
            return false;
        });
    });
    </script>
</head>
<form method="post" id="form_id">
<input type="text" name="ime">
<input type="button" id="submit" name="submit" value="Send">
</form>

** get_ajax.php**

<?php
$ime = $_POST['ime'];

echo "Your name is $ime";
?>
于 2014-11-19T07:19:00.917 回答