2012-05-31 3 views
0

Я хотел бы посмотреть, есть ли способ выполнить аналогичную задачу в PHP. Я использовал javascript, чтобы обновить строку в id 'boldStuff' другой строкой, в этом случае нажатие кнопки имени пользователя. Важная концепция заключается в том, что страница или раздел, содержащие «boldStuff», обновляются без обновления страницы. В принципе, я хотел бы выполнять аналогичную функцию в PHP без обновления страницы каждый раз, когда кто-то нажимает кнопку отправки. Любая помощь будет оценена по достоинству.Обновление строки в PHP без обновления страницы, функция типа AJAX

<script type="text/javascript"> 

function displayMessage(firstName, lastName) { 
document.getElementById('boldStuff').innerHTML = firstName + " " + lastName; //prints 

} 
</script> 

<p>Welcome to my website, <b id='boldStuff'>dude</b> </p> 
</br> 

<div id="hg"> 

<form> 
First name: 
<input type="input" name="yourName" /> </br> 
First name: 
<input type="input" name="yourLast" /> </br> 
<input 
type="button" 
onclick="javascript:displayMessage(form.yourName.value, form.yourLast.value)" 
value="Display Message" /> 
</form> 
</div> 
</body> 
</html> 
+1

Я не понимаю ваш вопрос. Вы хотите обновить 'boldStuff' без обновления страницы, не так ли? Разве это не то, что делает код сейчас? – Pateman

+1

потратьте немного времени на поиск Google в этом или в верхней части stackoverflow, вы получите результат, который вы хотите. –

+2

Если вы хотите обновить серверные вещи без обновления страницы, вам, скорее всего, понадобится AJAX. Вы также должны искать JQuery, это облегчает AJAX _much_. – rcplusplus

ответ

0

Ваш HTML файл должен быть Двойники к:

<html> 
<head> 
<script type="text/javascript" src="jquery-1.7.1.min.js"></script> 
<script type="text/javascript" > 
$(document).ready(function(){ 
    $("form#submit").submit(function() { 
    // we want to store the values from the form input box, then send via ajax below 
    var fname  = $('#fname').attr('value'); 
    var lname  = $('#lname').attr('value'); 
    $.ajax({ 
      type: "POST", 
      url: "ajax.php", 
      data: "fname="+ fname +"&amp; lname="+ lname, 
      success: function(){ 
       $('form#submit').hide(function(){$('div.success').fadeIn();}); 

      } 
     }); 
    return false; 
    }); 

}); 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255"> 
<title>Insert title here</title> 
</head> 
<body> 
<form id="submit" method="post"> 
<fieldset><legend>Enter Information</legend> 
<label for="fname">Client First Name:</label> 
<input id="fname" class="text" type="text" name="fname" size="20" /> 
    <label for="lname">Client Last Name:</label> 
    <input id="lname" class="text" type="text" name="lname" size="20" /> 
    <button class="button positive"> Add Client </button> 
    </fieldset> 
</form> 
<div class="success" style="display: none;">Client has been added.</div> 
</body> 
</html> 

и ajax.php

<?php 

    include ("../../inc/config.inc.php"); 

    // CLIENT INFORMATION 
    $fname  = htmlspecialchars(trim($_POST['fname'])); 
    $lname  = htmlspecialchars(trim($_POST['lname'])); 

    $addClient = "INSERT INTO clients (fname,lname) VALUES ('$fname','$lname')"; 
    mysql_query($addClient) or die(mysql_error()); 

?> 

скопировать этот код из [введите описание ссылки здесь] [1]

[ 1]: http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/ и я тестировал.

1

PHP работает на сервере, а не в браузере. Невозможно напрямую взаимодействовать со страницей, загруженной в браузер. PHP может сгенерировать страницу и отправить ее в браузер для отображения, но это конец истории. Если вы хотите манипулировать страницей без перезагрузки, вам нужна клиентская технология. Это означает, что Javascript в 99,9% случаев.

Если вам что-то нужно с сервера, вы можете использовать Javascript для извлечения результата PHP-скрипта и вставки его на свою страницу без перезагрузки, но, хотя PHP может быть задействован, все действия на стороне клиента будут выполняется Javascript.

+0

Спасибо за ваше объяснение. Ваш ответ имеет логический смысл. Я студент-аспирант, и, к сожалению, это не то, чему они учат в классе. Я буду углубляться в Javascript и php-сотрудничество. – Rosh

Смежные вопросы