我想在提交按钮上执行一些php代码,而不刷新/重新加载我的页面。有可能吗?此外,我有javascript功能的页面加载,这就是为什么我不想刷新我的页面。提前谢谢。
<?php
if(isset($_POST["search"]))
{
$show = "SELECT * FROM data";
$rs = mysql_query($show) or die(mysql_error());
$add_to_textbox = "<input type='button' name='btn' value='add' />";
#****results in Grid****
echo "<table width='360px' border='1' cellpadding='2'>";
$rowID=1;
while($row = mysql_fetch_array($rs))
{
echo "<tr>";
echo "<td width='130px' id='name.$rowID.'>$row[Name]</td>";
echo "<td width='230px' id='link.$rowID.'><a href = '$row[Link]'>$row[Link]</a></td>";
echo "<td width='130px' onclick='Display($rowID);'>$add_to_textbox</td>";
echo "</tr>";
$rowID++;
}
echo "</table>";
#**********************
mysql_free_result($rs);
}
?>
<script type="text/javascript">
function Display(rowID){
var linkVal = document.getElementById('link'+rowID+'').innerHTML.replace(/<\/?[^>]+(>|$)/g, "\n");
document.getElementById("name").value = document.getElementById('name'+rowID+'').innerHTML;
document.getElementById("link").value = linkVal;
}
</script>以下是我的代码
发布于 2012-11-26 14:13:10
那么,您需要使用javascript / ajax。
示例:在提交链接(示例中的href )上,添加对js函数submitMe的调用,并传递所需的任何变量
function submitMe() {
jQuery(function($) {
$.ajax( {
url : "some_php_page.php?action=getsession",
type : "GET",
success : function(data) {
alert ("works!"); //or use data string to show something else
}
});
});
}如果你想动态改变一些内容,这很简单-你只需要创建标签,并为它们分配ID:<div id="Dynamic"> </div>
然后使用以下命令加载这两个标记之间的任何内容
document.getElementById("Dynamic").innerHTML = "<b>BOOM!</b>";这意味着你调用两个标签之间的区域,并将一些东西加载到其中。与从该位置获取数据的方式相同:
alert(document.getElementById("Dynamic").innerHTML);请阅读以下内容:http://www.tizag.com/javascriptT/javascript-getelementbyid.php
此外,尝试使用DOM元素,并了解它们是如何交互的。这并不难,只是需要一些时间来掌握所有的概念。
发布于 2012-11-26 14:35:09
无论何时从html表单发送请求ajax (无论如何使用纯js ),请确保添加return false语句以防止重定向:如下所示:
<form method="post" ... onsubmit="ajax_post(); return false;">你必须使用ajax,但是你可以用普通的javascript (没有jquery)来做。Jquery让这一切变得更容易。
简单的javascript示例:这个函数将触发一个ajax,通过get,没有参数:你可以调整它,让它在POST中运行,并能够发送一些参数: file表示要请求的php文件,html表示显示数据的容器:
function plain_ajax(file,html){
if (window.XMLHttpRequest){
r=new XMLHttpRequest(); //For Most BRowser
} else{
r=new ActiveXObject("Microsoft.XMLHTTP"); //for Explorer
}
//When the state change
r.onreadystatechange=function(){
//ReadyState 4 = Loaded see: http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/
//status 200 = ok see: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
if(r.readyState==4 && r.status==200){
//Replace the content with the response, Using creatDocumentFragment is more efficient
//at the cost of a few more lines But it would alos allow you to append the data
//instead of replacing it using innerHTML;
document.getElementById(html).innerHTML = r.responseText;
}
}
//Opening the connection and sending the request.
r.open("GET",file,true);
r.send();
}发布于 2014-08-11 14:37:58
您的HTML或PHP表单
<form action="submit.php" method="post">
Name: <input name="name" id="name" type="text" /><br />
Email: <input name="email" id="email" type="text" /><br />
Phone Number: <input name="phone" id="phone" type="text" /><br />
<input type="button" id="searchForm" onclick="SubmitForm();" value="Send" />
</form>你的JavaScript
<script>
function SubmitForm() {
var name = $("#name").val();
var email = $("#email").val();
var phone = $("#phone").val();
$.post("submit.php", { name: name, email: email, phone: phone },
function(data) {
alert("Data Loaded: " + data);
});
}
</script>您的PHP页面要做一些活动
<?php
echo $_POST['name']."<br />";
echo $_POST['email']."<br />";
echo $_POST['phone']."<br />";
echo "All Data Submitted Sucessfully!"
?>https://stackoverflow.com/questions/13559489
复制相似问题