как запустить php-код на кнопку отправки без обновления / перезагрузки страницы

Я хочу выполнить некоторый 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> 

вот мой код

Ну, вам нужно использовать javascript / ajax.

Пример: на ссылку отправки (href for exaple), добавьте функцию j- submitMe 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 и узнайте, как они взаимодействуют. Это не сложно, просто требуется некоторое время, чтобы понять все понятия.

Всякий раз, когда вы отправляете запрос ajax (с простым js в любом случае) из html-формы, убедитесь, что вы добавили возвращаемое значение false для предотвращения перенаправления: что-то вроде:

 <form method="post" ... onsubmit="ajax_post(); return false;"> 

Вы должны использовать ajax, но вы можете сделать это в простом javascript (без jquery). JQuery упрощает работу.

простой пример javascript: эта функция запускает ajax через get, без параметра: вы можете настроить его так, чтобы он запускался в POST и мог отправлять некоторый параметр: файл представляет собой файл 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(); } 

Ваша форма 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!" ?>