2014-10-01 21 views
0

我有一個搜索頁面,在我的index.php中有一個輸入框。該表單使用POST方法。如何從其他頁面發送字符串作爲POST數據?

<form id="someID" action="result.php" method="post"> 
    <input name="name" id="name" type="text"> 
    <input type="submit" value="Search"> 
</form> 

現在我想從result.php網頁使用像這 -

<a href="javascript:void(0)">Some Name</a>

一個鏈接,我可以得到使用JS這個鏈接的內容的字符串發送到輸入框,並可以發送如果我使用GET方法,則返回結果頁面的名稱。
例子:http://example.com/result.php?name=value

但我不能使用到這裏。
我可以使用POST方法將此鏈接的內容作爲字符串發送到結果頁面嗎?有任何想法嗎?

+0

你可以使用post,爲了在使用'post'的時候得到一個值,你需要使用'$ _POST ['value']'而不是'$ _GET ['value']''的功能幾乎相同,除了這個帖子更安全,它不會嵌入你的網址 – Azrael 2014-10-01 14:22:18

+0

你的問題不清楚。如果你點擊那個鏈接你想要去result.php,並使名稱輸入填充? – DarkBee 2014-12-11 22:04:49

+0

@DarkBee是的,在這種情況下,「Some Name」將被填充到輸入字段。 – 2014-12-11 22:11:13

回答

0

如果你正在使用jQuery(使AJAX比香草JS簡單)它是這樣的:

$.post('http://example.com/result.php', { name: value }, function(data) { 
    // data -> returned HTTP request 
}); 
+0

Hi @ chen-asraf,感謝您的幫助。我是PHP的新手,在這裏遇到了一些困惑。運行此代碼時,'data'以html格式返回整個頁面。我怎樣才能修改這個,使我的主頁的形式實際上提交?此外,此代碼僅適用於我的主頁,而不適用於每個頁面。 – 2014-10-03 15:55:23

+0

返回響應,而不是請求 – Yang 2014-10-03 18:12:13

0

U可以做到這一點像這樣的東西,阿賈克斯在這裏是不是真的,因爲你的選擇要到另一個頁面

主要

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 
<body> 
    <a href="#" class="search">Foo</a> 
    <a href="#" class="search">Bar</a> 
    <a href="#" class="search">Foobar</a> 
    <form id="just_a_form" action="result.php" method="POST"> 
     <input type="hidden" name="txt_name" id="txt_name" value="" /> 
    </form> 
    <script> 
     $(function() { 
      $('.search').click(function(e) { 
       e.preventDefault(); 
       $('#txt_name').val($(this).html()); 
       $('#just_a_form').submit(); 
      }); 
     }); 
    </script> 
</body> 
</html> 

結果

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 
<body> 
    <?php 
     if (isset($_POST['txt_name'])) { 
      $name = $_POST['txt_name']; 
     }else{ 
      $name = ''; 
     } 
    ?> 
    <form id="someID" action="result.php" method="post"> 
     <input name="name" id="name" type="text" value="<?php echo $name; ?>"> 
     <input type="submit" value="Search"> 
    </form> 
</body> 
</html> 
相關問題