2017-08-10 98 views
-2

我是PHP的初學者。我在網站上有一個表格,這個表格爲標題和描述賦予特定的網站(與preg_match)。如何獲取表單輸入值?

我想添加網址輸入這個表單,當你添加網址,然後按提交按鈕的自動獲取字段。實施例

前端:

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

後端:

$link = 'input values here'; 

結果:

表單域(標題和描述得到)刷新或AJAX。

+0

你使用jQuery?然後你可以使用'$(「#formid」)。serialize()'來獲得所有的輸入值。 – Barmar

+0

如果你不使用像jQuery這樣的庫,沒有任何東西會自動獲取AJAX的所有表單字段。 – Barmar

+0

你能舉個例子嗎? –

回答

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> 

submit.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> 

submit.php

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

對於ajax,你必須添加jQuery庫之前ajax代碼

+0

非常感謝Moiz其工作正常!:) –

+0

檢查我已更新爲ajax也:) –

+0

我試過了,用這種方法頁面加載兩個副本。空字段和加載字段。但無論第一種方法工作:) –

0

如果您使用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', 
0

將此用作表單,確保在表單屬性部分包含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']; 

您的歡迎