[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему не обрабатываются теги при выводе ...
Userguest
Здравствуйте.
Данные со страницы при помощи jQuery ($post()) отправляются файлу обработчику, он записывает данные в базу данных и в результате выдает сообщение об успешном или неуспешном окончании операции (echo("...")). Страница получает текст от обработчика. Но вот загвоздка - если в этот текст добавить теги, то страница получив их от обработчика не обрабатывает а печатает как текст. Так и должно быть? Как это исправить?



Спустя 6 минут, 30 секунд (19.07.2010 - 19:39) Lenarfate написал(а):
  • советую отправлять в формате xml
  • покажите код

Спустя 21 минута, 32 секунды (19.07.2010 - 20:01) Userguest написал(а):


<script type="text/javascript">
$(document).ready(function(){
$("#block button").click(function(){

$('#spinner').css('visibility','visible');
$('#visual_message').css('visibility','hidden');
var v1 = $('#sel option:selected').val();
var v2 = $('#v2').val();
var v3 = $('#v3').val();

$.post( "obr.php", {
v1:v1,
v2:v2,
v3:v3 },function(data){
$('#spinner').css('visibility','hidden');
$('#visual_message').css('visibility','visible');
$("#visual_message").text(data)});
});
});
</
script>


Html код:

<form> ... </form>

<div
id="block" class="align_center">
<button
class="but_class">Сохранить</button>
<div
id="spinner" style="visibility:hidden"></div><span></span>
</div>

<div
id="message_visual" style="visibility:hidden"><span></span></div>




Код файла обработчика:


<?php

if(isset($_POST["v1"])){$v1 = $_POST["v1"];} else {unset($v1);}
if(preg_match("|^[\d]+$|", $_POST["v2"])){$v2 = $_POST["v2"];} else {unset($v2);}
if(preg_match("|^[\d]+$|", $_POST["v3"])){$v3 = $_POST["v3"];} else {unset($v3);}


if (isset($v1) && isset($v2) && isset($v3))
{
$result_1 = mysql_query ("UPDATE table_1 SET field_1='$v1' WHERE id=1", $db);
$result_2 = mysql_query ("UPDATE table_2
SET
field_1='
$v2',
field_2='
$v3',
WHERE id=1"
, $db);
if ($result_1 == true) {echo ("Операция 1 завершена успешно");}
else {echo ("Операция 1 завершилась неудачей");};
if ($result_2 == true) {echo ("Операция 2 завершена успешно");}
else {echo ("Операция 2 завершилась неудачей");};
}
else {echo("Некорректный ввод данных. Невозможно выполнить операцию.");}
?>


Спустя 3 минуты, 24 секунды (19.07.2010 - 20:04) Userguest написал(а):
Опечатка.
Было:
<div id="message_visual" style="visibility:hidden"><span></span></div>
Должно быть:
<div id="visual_message" style="visibility:hidden"><span></span></div>

Т.е. если к примеру написать так:

if ($result_1 == true) {echo ("Операция 1 завершена успешно<br>");}


то так и выводит.

Спустя 2 минуты, 45 секунд (19.07.2010 - 20:07) Lenarfate написал(а):
зачем это?

Цитата
if(preg_match("|^[\d]+$|", $_POST["v2"])){$v2 = $_POST["v2"];} else {unset($v2);}
if(preg_match("|^[\d]+$|", $_POST["v3"])){$v3 = $_POST["v3"];} else {unset($v3);}

blink.gif



да и вообще это в javascript тему, а не сюда))

Спустя 1 минута, 59 секунд (19.07.2010 - 20:09) Lenarfate написал(а):
Цитата
Т.е. если к примеру написать так:

if ($result_1 == true) {echo ("Операция 1 завершена успешно<br>");}


то так и выводит.


а у меня нормально выводит

Спустя 4 минуты, 24 секунды (19.07.2010 - 20:13) Userguest написал(а):
Выводом данных ведь php занимается. Зачем в javascript тему?

На ваш вопрос зачем это.

Проверка на наличие только чисел и хотя бы одного знака.
else {unset($v2); - пока не успел убрать, оно здесь не нужно.

Если вы об этом.

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

Спустя 41 минута, 56 секунд (19.07.2010 - 20:55) dr_Lev написал(а):
печатает теги, потому что полученный текст вставляется через функцию text()
Цитата
$("#visual_message").text(data)});
, а нужно через html()
$("#visual_message").html(data)});

Спустя 1 час, 6 минут, 26 секунд (19.07.2010 - 22:02) Userguest написал(а):
Большое спасибо.
Именно то, что нужно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.