2010-11-22 71 views
1

我想要一個執行一些php代碼而無需打開全新的php頁面的表單。現在,我熟悉「POST」,這樣我就可以執行一個php文件並使用$ _POST [variable]從HTML表單中調用變量,但是,需要一些時間來打開一個新頁面,並且我想要一個形式,當時和那裏做的行動。使用PHP的HTML表格

例如,有人可以編寫HTML代碼來創建文本框和按鈕,並且當用戶按下按鈕時,它會顯示用戶在按鈕旁邊輸入的文本。

謝謝!

+0

你可以使用JavaScript來此,你不會提交表格。 – robbrit 2010-11-22 03:12:48

+0

會是什麼樣子? – CodeGuy 2010-11-22 03:14:32

+0

你見過http://jquery.com/嗎?這樣做會讓你的生活變得更加輕鬆。 – mikel 2010-11-22 03:17:12

回答

1

這裏有一個HTML和PHP代碼片段讓你開始。它使用jQuery,並使用AJAX將提交按鈕下面的textarea值寫入。

HTML摘錄 [文件= so.html]

<!DOCTYPE html> 
<html><head><title>SO Example</title> 
<script 
    type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"> 
</script> 
</head> 
<body> 

<form id="frm" name="frm"> 
    <textarea id="txt" name="txt" rows="4" cols="40"> 
    </textarea><br /> 
    <input type="submit"><br /> 
    <span id="result"></span> 
</form> 

<script type="text/javascript"> 
$('#frm').submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
    url:"/so.php",type:"post",dataType:"html", 
    data:$('#frm').serialize(), 
    success:function(obj){ 
     $('#result').text(obj); 
    } 
    }); 
}); 
</script> 

</body> 
</html> 

PHP代碼段 [文件= so.php]

<?php 
echo $_POST['txt']; 
0

如果您想在頁面加載後執行php代碼而不打開新頁面,那麼您應該使用像AJAX這樣的技術。 PHP是一個預處理器,用於處理頁面,而不是之後的功能。

使用AJAX,您可以使用JavaScript調用PHP處理的網頁。然後用返回的頁面/數據,你可以做你的頁面功能。

有關此處AJAX檢查的詳細信息:)http://en.wikipedia.org/wiki/Ajax_(programming

我建議在看的jQuery作爲Ajax調用:http://api.jquery.com/jQuery.ajax/ 你可以找到噸教程在網上,讓您開始。

0

我會研究AJAX,更具體地說是一個使用jQuery的AJAX調用。它看起來像這樣一點點的POST請求:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success 
}); 

如果我填了這一點,它可能是這樣的:

$.ajax({ 
    type: 'POST',     // Method of submission: POST or GET 
    url:  'processor.php',   // The script to send to. 
    data: { id: 1, name: 'John' }, // The data to give to PHP. 
    success: function(data) {   // Do something with what PHP gives back. 
      console.log(data); 
      } 
}); 

有關jQuery的AJAX功能,這裏頭的詳細信息: http://api.jquery.com/category/ajax/ 您可能對jQuery.ajax(),jQuery.post()和jQuery.get()感興趣。