在不刷新页面的情况下更新 PHP 中的字符串,AJAX 类型函数


Update string in a PHP without page refresh, AJAX type function

我想看看是否有办法在PHP中执行类似的任务。 当单击提交按钮时,我利用javascript将"boldStuff"id中的字符串更新为另一个字符串,在本例中为用户名。 重要的概念是包含"boldStuff"的页面或部分在不刷新页面的情况下更新。 基本上,我想在PHP中执行类似的功能,而无需每次有人单击提交按钮时刷新页面。任何帮助将不胜感激。

<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>

PHP 在服务器上运行,而不是在浏览器中运行。它无法直接与浏览器中加载的页面交互。PHP 可以生成一个页面并将其发送到浏览器进行显示,但这就是故事的结局。如果要在不重新加载的情况下操作页面,则需要客户端技术。这意味着Javascript在99.9%的情况下。

如果你需要从服务器获取一些东西,你可以使用 Javascript 获取 PHP 脚本的结果并将其插入到你的页面上,而无需重新加载,但是,即使 PHP 可能涉及,所有的客户端操作都将由 Javascript 执行。

你的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>

和阿贾克斯.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/测试过。