Страниц (3): « 1 [2] 3 »
Найдено сообщений: 44 |
Furax |
Отправлено: 9 июля 2009 — 15:07 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Динамическое создание Flash-тегов с последующей загрузкой ролика, содержащего звук. Вероятность срабатывания, по-моему, будет выше, чем у других средств. |
Furax |
Отправлено: 2 июля 2009 — 06:15 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Попробуй так:CODE:for (var item in desc.style) { name.style[item] = desc.style[item]; } |
Furax |
Отправлено: 1 июля 2009 — 13:43 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Совершенно верно: чтобы форма отправлялась по Enterу, нужно, чтобы её элемент (input) был в фокусе. А action и method, по-моему, по стандарту требуются (хотя не уверен). |
Furax |
Отправлено: 1 июля 2009 — 09:22 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Там есть какие-то тонкости... Во всяком случае, форма с одним inputом и без submitов без проблем отправляется Enterом, можно проверить. Но, поскольку нужно несколько кнопок, действительно, лучше ловить onclick. А submit формы лучше вообще заглушить от греха подальше:CODE:<form action="/" method="post" onsubmit="return false;"> |
Furax |
Отправлено: 29 июня 2009 — 00:51 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Опасными последствиями такой подход не грозит, потому что на сервер эти данные в любом случае не пойдут. Другое дело - "защиту от дурака" и впрямь можно предусмотреть - например, так:CODE:function preview() {
var color = document.frm.color.value.split('&').join('&').split('<').join('<').split('>').join('>').split('"').join('"');
var win = window.open("","","status=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes");
win.document.write('Бла-бла-бла'+color+'Ля-ля-тополя');
win.document.close();
} Кстати, такой способ обработки формы ужасно неудобен: при нажатии Enterа данные пойдут неизвестно куда. Лучше вместо button сделать тип кнопки submit, а вместо onclick для неё прописать onsubmit для формы - последний в этом случае должен возвращать false, чтобы форма не отправлялась. |
Furax |
Отправлено: 19 июня 2009 — 13:24 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Да, в этом. Если адрес динамический - вряд ли JavaScript сможет определить, что она главная. |
Furax |
Отправлено: 19 июня 2009 — 08:44 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
CODE:<script language="JavaScript">
<!--
if (location.path == '/index.php' || location.path == '/')
{
Top=window.open("http://мой_сайт.ru/pop.htm",'мой_сайт_без_.ru', 'toolbar=0, location=0, status=0, menubar=0, scrollbars=0, resizable=0');
}
// -->
</script> |
Furax |
Отправлено: 30 мая 2009 — 14:19 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
Проверь, правильно ли обрабатывается щелчок сначала на второй кнопке, а потом - на первой. И второй аргумент у setTimeout лучше, пожалуй, изменить с 1000 на 1. |
Furax |
Отправлено: 30 мая 2009 — 03:52 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
Можно вот так:
CODE:<script type="text/javascript">
function formToBlank(Form)
{
var oldAction = Form.action;
Form.action = 'файл_готовящий_заполненный_текст_в_новом_окне.php';
Form.target='_blank';
setTimeout(function() { Form.action=oldAction; Form.target='_self'; }, 1000);
}
</script>
...
<form action="этот_же_файл.php" method="POST" target="_self">
...
<input type="submit" name="preview" value="Предварительный просмотр в том же окне">
<input type="submit" name="newWindow" value="Результат в новом окне" onclick="formToBlank(this.form);">
</form> Если нигде не ошибся, первый submit должен отправлять форму в том же окне на тот же файл, а второй - в новом на другой. |
Furax |
Отправлено: 27 мая 2009 — 06:23 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
POST-параметры открытием нового окна не передашь, а в GET сваливать данные целой анкеты нехорошо. Проще написать target="_blank" для формы. |
Furax |
Отправлено: 26 мая 2009 — 10:29 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
Так... Если хочешь делать таким образом предпросмотр (хотя я бы его сделал на JavaScriptе...), тогда, действительно, имеет смысл объединить страницы в одну. Это можно сделать так:CODE:<html>
<head>
...
<body>
<?php
$result = '';
$name = '';
$province_index = '';
...
if (isSet($_POST['name']) && isSet($_POST['province']) && ...)//Если заданы все POST-переменные
{
$name = htmlSpecialChars($_POST['name']);
$province_index = htmlSpecialChars($_POST['province_index']);
...
$result = <<< EOF //Отформатированный ответ - пока в переменной
<h1>Заявление</h1>
<p>Я, $name, рождённый в провинции Зимбабве № $province_index...</p>
EOF;
}
if (isSet($_POST['submit']) && $result) //Если была нажата кнопка "Отправить" и все данные переданы - нужно вывести только результат
echo $result;
else //Либо ещё не введены данные, либо нажата кнопка "Предпросмотр"
{
if ($result) //Данные переданы => предпросмотр
echo "<h1>Предпросмотр</h1>$result"; //Отображение предпросмотра
//Далее - форма
echo <<< EOF
<h1>Форма</h1>
<form action="этаСтраница.php" method="POST">
<p>Ваше имя: <input type="text" name="name" value="$name"></p>
<p>Номер провинции Зимбабве, в которой Вы родились: <input type="text" name="province_index" value="$province_index"></p>
...
<input type="submit" name="submit" value="Готово">
<input type="submit" name="preview" value="Предпросмотр">
</form>
EOF;
}
?>
</body>
</html> |
Furax |
Отправлено: 24 мая 2009 — 05:27 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
Должно быть 2 страницы: первая (form.html) - с формой, вторая (make.php) - с выводом результата. (Хотя при желании можно их совместить.)
На form.html должна быть форма, отправляющаяся методом POST на make.php: CODE:<form action="make.php" method="POST">
Имя: <input type="text" name="name"><br>
Год: <input type="text" name="year"><br>
...
</form>
А уж make.php заботится о формировании страницы (см. мой предыдущий пост). if лишь проверяет, все ли POST-переменные заданы; если не все, он перенаправляет на form.html. |
Furax |
Отправлено: 14 мая 2009 — 09:55 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
CODE:<?php
if (!isSet($_POST['name']) || !isSet($_POST['year']))
{
header('Location: страница_с_формой.html');
return;
}
?><html>
<head>
...
<body>
<p>Я, <?php echo $_POST['name']; ?>, родившийся в <?php echo $_POST['year']; ?> году и проживающий ныне в Зимбабве... |
Furax |
Отправлено: 14 мая 2009 — 02:37 • Тема: Форма для вывода информации по шаблону • Форум: PHP/Perl |
Ответов: 16 Просмотров: 0
|
А в чём, собственно, проблема? В начале проверяем заданность всех нужных POST-переменных, если они заданы - выводим текст, подставляя их значения (или вычисляя что-то по их значениям). Довольно стандартная задача, вроде бы... |
|
Страниц (3): « 1 [2] 3 »
|