Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Необходимо имитировать клик мышкой на значении (https://javascript.ru/forum/misc/43008-neobkhodimo-imitirovat-klik-myshkojj-na-znachenii.html)

EvgenStor 18.11.2013 14:29

Необходимо имитировать клик мышкой на значении
 
Здравствуйте,

Необходимо имитировать клик мышкой на значении евро при загрузке страници, так чтобы передовались данные о смене валюты, можно это как то сделать? В идеале если страница изночально будет загружаться с валютой по умолчанию в Евро

<div id="shop-currency">
<form id="shop-currency-form" method="post" action="/shop/currency">
<select id="shop-currency-select" onchange="document.getElementById('shop-currency-form').submit()" name="id">
<option value="1">Евро</option>
<option selected="" value="2">Рубли</option>
</select>
<input type="hidden" value="/shop/checkout" name="url">
</form>
</div>

ksa 18.11.2013 14:33

Цитата:

Сообщение от EvgenStor
чтобы передовались данные о смене валюты, можно это как то сделать?

Просто выполни

document.getElementById('shop-currency-select').value=1;
document.getElementById('shop-currency-form').submit()

EvgenStor 18.11.2013 16:21

Можно пожалуйста по подробней, как выполнить скрипт, я в этом дилетант?

Добавил в код страницы скрипт но ничего не происходит, страница загружается как и обычно, смены валюты не происходит

<script>function myFunction(){
document.getElementById('shop-currency-select').value=1;
document.getElementById('shop-currency-form').submit();
}</script>

ksa 18.11.2013 16:24

Цитата:

Сообщение от EvgenStor
Можно пожалуйста по подробней

Дык

<div id="shop-currency">
<form id="shop-currency-form" method="post" action="/shop/currency">
<select id="shop-currency-select" onchange="document.getElementById('shop-currency-form').submit()" name="id">
<option value="1">Евро</option>
<option selected="" value="2">Рубли</option>
</select>
<input type="hidden" value="/shop/checkout" name="url">
</form>
</div>
<script>
document.getElementById('shop-currency-select').value=1;
document.getElementById('shop-currency-form').submit();
</script>

a_l 18.11.2013 16:29

Добавьте еще строчку после своей функции:
window.addEventListener ? window.addEventListener('load',myFunction) : window.attachEvent && window.attachEvent('onload',myFunction);

EvgenStor 18.11.2013 17:13

ksa, смена валюты происходит, спасибо! Вот только скрипт зацикливается, и меняет ее бесконечно, как остановить?

EvgenStor 18.11.2013 17:21

a_l,
Вариант с вашей строкой работает лучше, быстрее, без видимого обновления страницы, но тоже происходит какое то мерцание в последствии, зацикливание.
<script>function myFunction(){
document.getElementById('shop-currency-select').value=1;
document.getElementById('shop-currency-form').submit();
}
window.addEventListener ? window.addEventListener('load',myFunction) : window.attachEvent && window.attachEvent('onload',myFunction);
</script>

EvgenStor 18.11.2013 19:10

Что вы думаете по поводу того, что бы добавить условие. Например если валюта стоит рубль то меняем ее на евро, а если стоит евро то скрипт не чего не делает. Тогда по идее не должен зацикливаться!?
Как добавить условие в скрипт?

ksa 19.11.2013 09:10

Цитата:

Сообщение от EvgenStor
Как добавить условие в скрипт?

Как вариант...

<div id="shop-currency">
<form id="shop-currency-form" method="post" action="/shop/currency">
<select id="shop-currency-select" onchange="document.getElementById('shop-currency-form').submit()" name="id">
<option value="1">Евро</option>
<option selected="" value="2">Рубли</option>
</select>
<input type="hidden" value="/shop/checkout" name="url">
</form>
</div>
<script>
var o=document.getElementById('shop-currency-select')
if (o.value!=1) {
   o.value=1;
   document.getElementById('shop-currency-form').submit();
};
</script>

EvgenStor 19.11.2013 13:15

ksa,
Спасибо огромнейшее! То что надо! Идеально работоет! От меня + 1!


Часовой пояс GMT +3, время: 22:39.