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

HTML+CSS+JavaScript

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

 

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

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

тема: как передать переменную из PROMPT на другую страницу
 
 автор: Stasycat   (08.07.2008 в 10:45)   письмо автору
 
 

На странице есть скрипт, спрашивающий название объекта:
<script language="JavaScript">
function ObEkt(){
obekt="";
obekt=prompt("Введите название объекта:","");
if (obekt=="") {
alert("Вы не ввели название объекта!");
obekt="-";
}
document.getElementById('ob').value=obekt;
}
</script>


Он выполняется при отправке данных заказа для этого объекта:
<form action="arhiv.php" method="post" target="_blank">
...
<input type="hidden" name="obekt" id="ob">
<input type="submit" value="сохранить" onClick="ObEkt();">
</form>


На открываемой странице все данные берутся методом POST и добавляются в БД:
<?php
...
$obekt $_POST['ob'];
...
?>


Не передаётся название объекта. Что не так?

Может как-то передать значение переменной через url, чтобы потом его взять методом GET? Я так пробовала, но не получилось у меня.

   
 
 автор: GeorgeIV   (08.07.2008 в 10:50)   письмо автору
 
   для: Stasycat   (08.07.2008 в 10:45)
 

Попробуй так:
<input type="hidden" name="ob" id="ob"> 

   
 
 автор: Stasycat   (08.07.2008 в 10:59)   письмо автору
 
   для: GeorgeIV   (08.07.2008 в 10:50)
 

Огромное спасибо! Заработало!
Просто я с POSTом прокололась. До этого пробовала передавать через GET переменную ob, вот и осталось в поле obekt, а в POST ob))) Ещё раз спасибо.

   
 
 автор: sim5   (08.07.2008 в 10:59)   письмо автору
 
   для: Stasycat   (08.07.2008 в 10:45)
 

Потому, что у вас даже в случе не заполнения поля PROMPT, произойдет передача формы, а значит и получите вы этот некчемный "-".

<script language="JavaScript"> 
function ObEkt(){ 
obekt=""; 
obekt=prompt("Введите название объекта:",""); 
if (obekt=="") { 
alert("Вы не ввели название объекта!"); 
return false; 

document.getElementById('ob').value=obekt; 

</script>

<form action="" method="post" target="_blank" onsubmit="return ObEkt()"> 
<input type="hidden" name="obekt" id="ob"> 
<input type="submit" value="сохранить"> 
</form>

   
 
 автор: Stasycat   (08.07.2008 в 11:08)   письмо автору
 
   для: sim5   (08.07.2008 в 10:59)
 

>и получите вы этот некчемный "-".

Он не никчёмный. Это прочерк, он будет означать, что наименование объекта неизвестно или просто не нужно. Ведь в БД это как-то надо отразить)))

   
 
 автор: sim5   (08.07.2008 в 11:12)   письмо автору
 
   для: Stasycat   (08.07.2008 в 11:08)
 

В БД есть значения по умолчанию, например, NULL, можно указать 0 и пр. Ну если вам без разницы, что вы получаете, пишите -. Только зачем тогда пугать пользователя страшным "Вы не ввели название объекта!", если вы принимаете и пустые значения?

   
Rambler's Top100
вверх

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