Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с кавычками при передаче из PHP
 
 автор: lemonade   (13.07.2008 в 14:55)   письмо автору
 
 

Здравствуйте.

Есть JS функция delete(), которой из PHP кода нужно передать два параметра, но данные не передаются, кажется из-за кавычек...
строка с функцией:
echo "<input type='button' name=\"delete\" id=\"delete\" value=\"удалить\" onclick=\"delete(".$part['cid'].", '$url')\" />";

$part['cid'] = целому числу
$url = например /test/index.php?newsid=16

Варианты были такие (ошибки выдает firebug):

при -
onclick='delete(".$part['cid'].", $url);'

ошибка - invalid flag after regular expression
delete(49, /test/index.php?newsid=16);

при -
 onclick =\"delete('".$part['cid']."', '$url');\"

вообще не реагирует на нажатие кнопки

при -
onclick='delete('".$part['cid']."', '$url');' 

ошибка - syntax error
delete(

при -
onclick='delete(".$part['cid'].", '$url');'

ошибка - syntax error
delete(48,

Заранее спасибо за помощь.

   
 
 автор: sim5   (13.07.2008 в 15:07)   письмо автору
 
   для: lemonade   (13.07.2008 в 14:55)
 


<?
echo "<input type=\"button\" name=\"delete\" id=\"delete\" 
value=\"удалить\" onclick=\"mydelete("
.$part['cid'].", '$url')\" />"

где mydelete - ваша пользовательская функция.

   
 
 автор: lemonade   (13.07.2008 в 16:19)   письмо автору
 
   для: sim5   (13.07.2008 в 15:07)
 

onclick="delete('48', '/she/index.php?newsid=16')" - в HTML коде вот так все выводится, но кнопка на нажатия не реагирует...

   
 
 автор: sim5   (13.07.2008 в 17:16)   письмо автору
 
   для: lemonade   (13.07.2008 в 16:19)
 

На delete('48', '/she/index.php?newsid=16')" - будет выдана ошибка: "Нельзя удалить строку". Насколько я понимаю, вы пытаетесь передать ваши аргументы, в вашу же функцию, так назовите ее не delete, а иначе.

   
 
 автор: lemonade   (13.07.2008 в 17:30)   письмо автору
 
   для: sim5   (13.07.2008 в 17:16)
 

Спасибо, сработало по последнему совету. Можете обьяснить подробнее, почему все заработало когда я преименовала функцию, вызываемую обработчиком onClick?

   
 
 автор: sim5   (13.07.2008 в 18:23)   письмо автору
 
   для: lemonade   (13.07.2008 в 17:30)
 

Я вам сразу прописал как mydelete, а не delete. Потому не работает, что в JavaScript, как и в других языках программирования, существуют зарезервированные слова, которые ни в коем случе нельзя использовать в именах пользовательских функций. К таким словам относиться и слово delete - это объектный оператор JS.

   
 
 автор: lemonade   (13.07.2008 в 19:28)   письмо автору
 
   для: sim5   (13.07.2008 в 18:23)
 

:) Точно, упустила этот момент из виду. Еще раз спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования