2010-11-22 73 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()感兴趣。