|
|
|
| Здарствуйте.
Почему я сразу заговорил за динамические линки? Проблема в том, что, на сколько я знаю, при использовании обычной формы типа <form><input>... отправки значений на скрипт кнопка намертво закреплена на странице и скрипт будет открываться только в той же странице, в которой размещена форма, даже если это будет не обычная кнопка а картинка вместо нее. Меня же интересует следуещее: возможно ли сделать так, что бы, кликнув правой кнопки мыши по кнопке, можно было выбрать "открыть на другой странице" или "в другой вкладке" как для обычного линка и при этом введеные данные передавались на скрипт который открылся на другой странице или вкладке.
Вот я и спрашиваю возможна ли динамеская генерация линков находящихся на странице при добавлении значеней в полях или выборе определенных пунктов <select> и т.п. ?Или есть другой метод реализации задачи? Для подробного описания проблемы приведу маленький пример:
Допустим у меня есть форма отправки е-мейлов, котороя передает тему, адресс и текст на скрипт отправки сообщений. В поле адреса есть возможность выбора адресов с помощью <seleсt>
И для того, что бы каждый раз не обновлять форму отправки, просто выбираю адрес, кликаю правой кнопкой мыши на кнопки отправить и нажимаю открыть в другом окне. Потом меняю адресс и снова так же, а в окнах которые открылись - открывался скрипт, отправлял сообщение на соответсвующий адрес и показывал, к примеру, "отправлено на ..!!!"
Помогите пожалуйста реализовать - Огромное спасибо!
СВК | |
|
|
|
|
|
|
|
для: svk1be
(21.01.2008 в 23:54)
| | >на сколько я знаю, при использовании обычной формы типа <form><input>... отправки значений на скрипт кнопка намертво закреплена на странице и скрипт будет открываться только в той же странице, в которой размещена форма, даже если это будет не обычная кнопка а картинка вместо нее.
Знаете вы не то чтобы "насколько" (на всякий случай сообщу, что слово это пишется слитно), а совсем хреново знаете.
У тега <FORM> во всех браузерах имеется (и всегда имелся) атрибут TARGET, в котором вы можете указать имя окна, в котором форма должна "открыться". По умолчанию этот атрибут имеет значение "_self", т.е. форма "откроется" именно в том окне, в коем этот тег <FORM> и прописан.
Каждый программист вправе прописать любое иное значение для этого атрибута. Например, ежели напишете <FORM TARGET="_blank">, то при сабмите формы откроется новое окно, в коем и "отобразятся результаты работы серверного сценария, указанного в атрибуте ACTION тега <FORM>" (именно так следует говорить/писать, а не безграмотно "откроется форма"). А если напишете <FORM TARGET="NameOfMyFrame">, где NameOfMyFrame - имя уже существующего фрейма/ифрейма/окна, то результаты работы серверного сценария, указанного в атрибуте ACTION тега <FORM>, отобразятся именно в этом фрейме/ифрейме/окне.
Задача ваша именно так и решается:
<script>
function myFunc () {if (!self.wind1) wind1 = window.open ('','myWin)}
</script>
<form name="myForm" target="myWin" action=... method=...>
<select name=...>
<option value=...>...
<option value=...>...
<option value=...>...
</select>
<input type="submit" value="Отправить" onclick="myFunc ()">
</form>
|
PS. Разумеется, вполне можете "намертво закрепленную на странице кнопку" любым способом "открепить" или заменить на "картинку", ссылку или вообще на то, что вам вздумается.
Результат работы дверного звонка от вида и способа крепления кнопки звонка к стене никак не изменится - звонок все-равно будет именно ЗВОНИТЬ, а не сходит в магазин купить вам бутылку пива. | |
|
|
|
|
|
|
|
для: CNT
(22.01.2008 в 00:31)
| | Большое спасибо за совет и за пристальное внимание на мою грамматику. Проблема в том что русский язык - не мой родной язык, и его учил только в первом классе :). А вот на счет моей проблемы меня же интересует что бы кнопка не постоянно открывала результаты выполнения скрипта (или как вы говорите "результаты работы серверного сценария, указанного в атрибуте ACTION тега <FORM>") в другом окне или фрейме, а только если я выберу соответствующий пункт контекстного меню которое появляеться при кликанье правой кнопки мыши на кнопки формы или ссылке. А по дефалту будет открываться в том же фрейме или окне где и находяться елементы формы.
Большое спасибо!
СВК | |
|
|
|
|
|
|
|
для: svk1be
(22.01.2008 в 16:21)
| | Обработка "клика правой кнопкой мыши" - задача сама по себе простенькая, но в условиях браузера OPERA, к примеру, вовсе нерешаемая. Ибо в этом браузере в меню настройки есть пункт "Разрешить/запретить обработку клика правой кнопки мыши". И что там будет у клиента в настройках отмечено - вам неведомо.
Так что... я бы не советовал применять именно это решение.
В качестве паллиатива предлагаю использовать две кнопки <input type="submit"> - одна для работы с родительским окном, вторая - для отображения результатов в другом окне.
Соответственно, в самом теге <FORM> атрибут TARGET можно вовсе не задействовать.
Ну а в кнопках, наоборот, прописывать:
<input type="submit" onclick="this.form.target = '_self';" value="В текущем окне">
<input type="submit" onclick="this.form.target = 'wind1'; myFunc ()" value="В новом окне">
|
| |
|
|
|
|
|
|
|
для: CNT
(22.01.2008 в 17:09)
| | Так панелька будет использоваться только определенным кругом людей у которых стоит файрфокс. Это сотрудники компании в которой я работаю.. Это не шаровая програма и потому необязательно делать ее универсальной для всех браузеров..
В любом случае спасибо за совет. | |
|
|
|
|
|
|
|
для: svk1be
(22.01.2008 в 17:22)
| | Есть еще советы?..
Спасибо.. | |
|
|
|
|
|
|
|
для: svk1be
(22.01.2008 в 23:35)
| | //only FF
<html>
<head>
<script>
window.addEventListener ('click', myFunc, false);
function myFunc (e)
{
if (e.target.id == 'sendform')
{
e.target.style.borderStyle = 'inset';
document.forms.myForm.target = (e.button == 2) ? '_blank' : '_self';
document.forms.myForm.submit ();
e.preventDefault ();
setTimeout ("document.getElementById ('sendform').style.borderStyle = 'outset'", 100);
}
}
</script>
</head>
<body>
<form name="myForm">
<input name="field1">
...
<span id="sendform" style="padding: 2px 6px; text-align: center; border: 2px outset #ffffff; background-color: #c0c0c0">Send</span>
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: CNT
(23.01.2008 в 01:55)
| | Если можно, чуть описания к коду. Я с джава-скриптингом не очень хороше знаком..
Спс. | |
|
|
|
|
|
|
|
для: svk1be
(23.01.2008 в 14:53)
| | Описание?
На конкретные вопросы по коду дам конкретные ответы.
Спрашивайте. | |
|
|
|