Php 提交表单值而不加载新页面

Php 提交表单值而不加载新页面,php,Php,我有一个表单,我正在使用它将值传递到另一个页面及其工作区 在不打开设置了“我的表单操作”的页面的情况下,是否仍可以执行此操作 我认为可以使用ajax和javascript来完成 echo "<form name=\"android\" method=\"post\" action=\"http://www.example.com\" target=\"_blank\">"; echo "<input type=\"hidden\" name=\"appid\" value=\

我有一个表单,我正在使用它将值传递到另一个页面及其工作区

在不打开设置了“我的表单操作”的页面的情况下,是否仍可以执行此操作

我认为可以使用ajax和javascript来完成

echo "<form name=\"android\"  method=\"post\" action=\"http://www.example.com\" target=\"_blank\">";
echo "<input type=\"hidden\" name=\"appid\" value=\"$appid\" />";
echo "<input type=\"hidden\" name=\"pushmessage\" value=\"$pushmessage\" />";
echo "<input type=\"hidden\" name=\"username\" value=\"$user\" />";
echo "<input type=\"hidden\" name=\"pass\" value=\"$pass\" />";
echo  "<input type=\"hidden\" name=\"publisherid\" value=\"createcoolapps\" />";
//echo "<input type=\"submit\" value=\"Push\" name=\"sub\" />";
echo "</form>";
echo "<script> document.forms[0].submit();</script>";
echo”“;
回声“;
回声“;
回声“;
回声“;
回声“;
//回声“;
回声“;
echo“document.forms[0].submit();”;
试试这个:

$url = 'http://www.example.com/';
$fields = array(
    'appid' => urlencode($appid),
    'pushmessage' => urlencode($pushmessage),
    'username' => urlencode($user),
    'pass' => urlencode($institution),
    'publisherid' => urlencode("createcoolapps")
);

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);

curl_close($ch);

是的,正如您所想,这可以使用Ajax来完成。到目前为止,最简单的方法是使用jQuery的AJAX库(因为如果没有其他方法,那么现在谁不使用jQuery):

示例可能如下(未经测试,但有点正确):


$(“#表单_提交”)。单击(函数(){
ajax(“mypage.php”{
类型:“post”,
数据:{
text1:$('#form_text_1').val()
}
});
return false;//当JS工作时,停止在前台提交表单
});

当然,根据您的需要调整它。

如果您可以包括jQuery库,这是非常容易的:

如果使用jQuery和上面的代码,可以执行以下操作:

$('input[name="sub"]').click( function() {
   $.post($(this).parents('form').attr('action'), $(this).parents('form).serialize());
   return false;
} );
这会截取名为“sub”的submit的点击,然后执行并向表单的操作发布AJAX


您最好查看浏览器控制台,以跟踪发布的数据并发现任何问题。

是的,您认为正确。您能帮我做到这一点吗。。?我试了很多次,但没有成功。你试过什么?有很多Ajax教程。这确实是他们解释的第一件事。
$('input[name="sub"]').click( function() {
   $.post($(this).parents('form').attr('action'), $(this).parents('form).serialize());
   return false;
} );