Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Append или замена ему (https://javascript.ru/forum/jquery/6388-append-ili-zamena-emu.html)

Droy 26.11.2009 07:48

Append или замена ему
 
Привет! У меня есть два скрипта: index.php и test.php. Вот их содержание:

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>

<div id="test"></div>

<button id="button" onclick="$.post('test.php', { name: 'John', balance: '7000' },
    function(data){
	$('#test').append(data);
    });">Click me</button>

</body>
</html>


test.php

<?php
$name = $_POST['name'];
$bal = $_POST['balance'];
echo "Hello, $name ! Your balance is $bal ";
?>


Если присмотреться как работает скрипт, то можно понять, что в начале скрипт с помощью jquery передаёт данные post странице test со значениями: name = John и balance = 7000, потом test.php обрабатывает эти данные и выдаёт обратно строчку "Hello, John!...". Эта строчка вбивается в div с id=test ($('#test').append(data);)

Суть проблемы: много раз кликнешь на баттон, много раз добавится надпись. Как от этого избавится? Или как правильно вообще реализовать скрипт? И как можно в javascript вставить правильно php переменную вместо имени John и баланса 7000? ($.post('test.php', { name: 'John', balance: '7000' },) ?

Заранее благодарен за помощь!

subzey 26.11.2009 11:18

$('#test').html(data);

Droy 26.11.2009 13:37

Да, уже нашёл информацию, но всё равно спасибо за помощь! =)

А вот ответа на вопрос: как правильно подставить переменные php в js я не нашёл =(

onclick="$.post('test.php', { name: 'John', balance: '7000' }


возможно так?
onclick="$.post('test.php', { name: '".$name."', balance: '".$balance."' }


или так?

onclick="$.post('test.php', { name: '{ $name }', balance: ' { $balance }' }


Но тут скобки повторяющиеся, jquery может неладное подумать.


Часовой пояс GMT +3, время: 08:33.