【问题标题】:How to get form input value? [closed]如何获取表单输入值? [关闭]
【发布时间】:2017-08-10 22:20:10
【问题描述】:

我是 PHP 的初学者。我在网站上有一个表单,这个表单获取特定网站的标题和描述值(使用 preg_match)。

我想添加 url 输入此表单,当您添加 url 并按下提交按钮时,它会自动获取字段。示例

前端:

<input name="url">https://testdomain.com/posts/6412</input>

后端:

$link = 'input values here';

结果:

表单字段(标题和描述获取)刷新或使用 ajax。

【问题讨论】:

  • 你在使用 jQuery 吗?然后就可以使用$("#formid").serialize()获取所有的输入值了。
  • 如果你不使用像 jQuery 这样的库,没有什么可以自动获取 AJAX 的所有表单字段。
  • 你能举个例子吗?

标签: php ajax forms input


【解决方案1】:

创建一个表单并在其中添加字段.. 在行动中,属性添加您要发布表单的文件名..

Form.php

<form method="POST" action="submit.php">
    <input name="url" value="https://testdomain.com/posts/6412">
    <input type="submit" name="submit" value="Submit">
</form>

提交.php

<?php 
    if(isset($_POST['submit'])){
        $link = $_POST['url'];
    }
?>

使用 AJAX

Form.php

 <form method="POST" id="form" action="submit.php">
    <div id="result"></div>
    <input name="url" value="https://testdomain.com/posts/6412">
    <input type="submit" name="submit" value="Submit">
</form>

<script>
$("#form").submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: "post",
        url: $(this).attr("action"),
        data: $(this).serialize(),
        success: function(response) {
            $("#result").html(response);
        }
    });
});
</script>

提交.php

<?php 
    $link = $_POST['url'];
    echo $link;
?>

对于ajax,必须在ajax代码之前添加jquery库

【讨论】:

  • 非常感谢 Moiz 工作正常! :)
  • 检查我也更新了 ajax :)
  • 我试过了,用这个方法页面加载了两个副本。空字段和加载字段。但是无论第一种方法是否有效:)
【解决方案2】:

如果你使用 jQuery,你可以使用它的serialize() 方法来获取所有的表单输入。

$("#form").submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: "post",
        url: $(this).attr("action"),
        data: $(this).serialize(),
        success: function(response) {
            $("#result").html(response);
        }
    });
});

但是请注意,serialize() 不会包含提交按钮本身。这只在普通表单提交中自动提交。如果服务器希望设置 $_POST['submit'] 之类的内容,则必须显式添加它,例如

data: $(this).serialize() + '&submit=true',

【讨论】:

    【解决方案3】:

    将此作为您的表单,确保在表单属性部分包含 method="post"。

                    <form class="contact-form" method="post" action="processes/contactusform">
                        <div class="form-group">
                            <label for="name" class="sr-only">Name</label>
                            <input type="name" class="form-control" id="name" placeholder="Name" name="name" required />
                        </div>
                        <div class="form-group">
                            <label for="email" class="sr-only">Email</label>
                            <input type="email" class="form-control" id="email" placeholder="Email" name="email" required />
                        </div>
                        <div class="form-group">
                            <label for="message" class="sr-only">Message</label>
                            <textarea class="form-control" id="message" rows="7" placeholder="Message" name="message" required /></textarea>
                        </div>
                        <div class="form-group">
                            <input type="submit" id="btn-submit" class="btn btn-send-message btn-md" value="Send Message" name="submit">
                        </div>
                    </form>
    

    在您的 php 代码中,您可以使用以下方式引用您的输入:

        $name = $_POST['name']; //you use 'name' because the value attribute in html for that specific input is set to "name"
        $email = $_POST['email'];
        $message = $_POST['message'];
    

    欢迎您

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      相关资源
      最近更新 更多