X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Часть анкеты в iframe - как обратиться к input`ам и select`ам, которые внутри?
Buler
Buler
Topic Starter сообщение 15.8.2013, 19:22; Ответить: Buler
Сообщение #1


Вопрос явно требует встречного - "а нафига тебе это вообще нужно?"))
Дело в том, что надо сделать анкету на несколько страниц, некоторые части которой зависят от ранее выбранного.
Вот этот селект говорит - что будет в iframe:
<select name="vid31" id="vid31" onchange="navigate();" >
<option></option>
<option value="vipiska1.html">Кадастровой выписки об объекте недвижимости в объёме разделов</option>
<option value="vipiska2.html">Кадастровый паспорт</option>
<option value="vipiska3.html">Кадастровый план территории</option>
</select>



ЯваС это реализует:

[JS]<script language='JavaScript'>
function navigate()
{
var elm = document.getElementById('vid31');
if ((!elm) || (typeof(elm.selectedIndex)=='undefined'))
return(false);
var page = elm[elm.selectedIndex].value;
document.getElementById('centerframe').src=page;
return(true);
}
</script>[/JS]


Выписка1,2,3 - это три варианта анкеты - тупо хтмл`ки набитые инпутами и селектами.

Все это заключено в form, который по сабмиту проверяет заполненность анкеты:

[JS]<script language='JavaScript'>

function checkForm(theForm)
{
if(theForm.elements['vid31'].value.length == 0)

{
alert('Пожалуйста, укажите вид предоставления сведений.');

return false;

}

if(theForm.elements['vid32'].value.length == 0)

{
alert('Пожалуйста, укажите об объекте.');

return false;

}....[/JS]


Все бы нормуль, да вот этот скрипт проверяет только то, что расписано на parent страничке, а в iframe видимо боится сунуться)))
Объясните, господа, как мне по этой же кнопочке, пусть с помощью onclick, проверить заполненность элементов расположенных в iframe?
Да, пробую так
[JS]<script language='JavaScript'>
function checkFrame()
{
if(frames[centerframe].document.getElementById("vid32").value.length == 0)

{
alert('Пожалуйста, укажите вид ом-ном-мном.');

return false;

}
</script>[/JS]
глухо((
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alekslv
alekslv
сообщение 15.8.2013, 19:43; Ответить: alekslv
Сообщение #2


frames[centerframe].document.getElementById("vid32").value.length-так не попадешь в ифрейм
надо использовать contentWindow
frames[centerframe].contentWindow
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Buler
Buler
Topic Starter сообщение 15.8.2013, 20:10; Ответить: Buler
Сообщение #3


Пишу так

[JS]<script language='JavaScript'>
function checkFrame()
{
if(frames[centerframe].contentWindow.getElementById['vid32'].value.length == 0)

{
alert('Пожалуйста, укажите вид ом-ном-мном.');

return false;

}}
</script>[/JS]

При нажатии на кнопку, которая ето вызывает - страничка тупо моргает - типа обновляется... Подскажите что не так? В Омске пересечемся - с меня пиво с креветками)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alekslv
alekslv
сообщение 15.8.2013, 20:28; Ответить: alekslv
Сообщение #4


доступ есть к ифрейму...страница с одного источника....если нет то все сложно
если есть доступ к ифрейму то
[JS]
if(frames[centerframe].contentWindow.document.getElementById['vid32'].value.length == 0)
[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Buler
Buler
Topic Starter сообщение 15.8.2013, 22:33; Ответить: Buler
Сообщение #5


alekslv, спасибо за отзывчивость и участие, но пока не помогло((
Упростил до нЕльзя (все что могло мешать - снес) - ни в какую не пролезает(((( Думаю, не будет лишним уточнить настоящее положение вещей...
Актуально:
Этот инпут прописан в example.html
<input type="text" name="vid33" id="vid33" value="">


example.html в свою очередь выводится на страничке index.php средством iframe:

<iframe src="example.html" name="centerframe" id="centerframe" width="650" height="0" align="center" scrolling="no" frameborder="0" marginheight="0" marginwidth="0">Если Вы видите данный текст, то для корректного отображения содержимого страницы необходимо включить поддержку плавающих фреймов в настройках вашего браузера</iframe>


В конце index.php валяется кнопочка:
<form name='inputformff' action="" method='post' onSubmit="return checkFrame()">
<input type="submit" name="button" id="button777" value="Кнопаська">
</form>


Она вызывает скрипт:
[JS]<script>
function checkFrame()
{
if (frames[centerframe].contentWindow.document.getElementById('vid33').value.length == 0)
alert('Пожалуйста, укажите ом-ном-мном.');
}
</script>[/JS]

Если в этом скрипте поставить условие 0==0, то сообщение всплывает. Если оставить так, как приведено, то ничего не происходит... Точнее страничка моргает 1 раз - типа обновилась. Делаю вывод, что проблема в frames[centerframe].contentWindow.document.getElementById('vid33').value.length .
Да, все эти файлики лежат в одной папке, так что ограничений в плане DomenWars )) нету.
Заранее спасибо)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Buler
Buler
Topic Starter сообщение 15.8.2013, 23:17; Ответить: Buler
Сообщение #6


Спасибо, вопрос решен. Темка закрыта)):evrika:
Решение:
[JS]document.getElementById( 'centerframe' ).contentWindow.document.getElementById( 'vid32' ).value.length[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alekslv
alekslv
сообщение 15.8.2013, 23:27; Ответить: alekslv
Сообщение #7


Вы сами себя запутали....
(Buler @ 16.8.2013, 01:33) *
<form name='inputformff' action="" method='post' onSubmit="return checkFrame()">

это некрасиво...javascript надо отдельно писать, html отдельно
[JS]
document.inputformff.onsubmit=function()
{if (
document.getElementById('centerframe').contentWindow.document.getElementById('vid33').value.length == 0)
{alert('Пожалуйста, укажите ом-ном-мном.');
return false;
}
else {
return true;
}
}
[/JS]
<form name='inputformff' action="" method='post'>
<input type="submit" name="button" id="button777" value="Кнопаська">
</form>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Buler
Buler
Topic Starter сообщение 16.8.2013, 11:53; Ответить: Buler
Сообщение #8


Спасибо) Считаю подобные замечания очень полезными, т.к. "быдлокод" - не тема. Стремлюсь кодить красиво, но не всегда получается, особенно на этапе склеивания первоначальных набросков... Обязательно прислушаюсь к Вашему совету:)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1117 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2285 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3911 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3636 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1929 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 28.3.2024, 17:44
Дизайн