Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Програмное нажатие на кнопку (https://javascript.ru/forum/misc/33483-programnoe-nazhatie-na-knopku.html)

djonA 25.11.2012 03:21

Програмное нажатие на кнопку
 
Подскажите, есть 2 кода, которые отлично выполняются и работаю, но нужно что бы в каждом из кодов, после выполнения фунции, еще очищалась input форма.

Вот 2 кода:

$(".ac_results li").live("mousedown", function(){
        window.location=$(this).find("a").attr("href"); return false;
    });


$("#searchstring").keyup(function(e) {
  if (e.which == 13) {  var link = $(this).val().match(/href='([^']+)/);
	    location.href =link[1];  }; 
});



Думал как вариант создать кнопку:
<input id="myButton" name="myButton" type="button" value="Reset Form" onClick="this.form.reset()" />

спрятать ее и потом в каждом конкретном случае програмно нажать на нее.

Но не получается, или может Вы подскажите еще какойто более простой вариант???

ruslan_mart 25.11.2012 05:58

Может document.getElementById('myButton').click();

djonA 25.11.2012 11:46

Цитата:

Сообщение от Ruslan_xDD (Сообщение 217697)
Может document.getElementById('myButton').click();

это куда добавить? прямо в мои функции?

что бы было прияерно так:
$("#searchstring").keyup(function(e) {
  if (e.which == 13) {  var link = $(this).val().match(/href='([^']+)/);
        location.href =link[1]; 
document.getElementById('myButton').click(); }; 
});

9xakep 25.11.2012 12:16

<input type='button' id='but' onclick='func()'>

<script>
function func() { alert('do') }
document.getElementById('but').click()
</script>

djonA 25.11.2012 12:19

Да это я понял, только мне надо что бы оно срабатывала после выполнения моего скрипта, то есть после вот этого:
$("#searchstring").keyup(function(e) {
	  if (e.which == 13) {  var link = $(this).val().match(/href='([^']+)/);
	        location.href =link[1];  };
	});


сразу срабатывало вот это:
function func() { alert('do') }
	document.getElementById('but').click()

Hoshinokoe 25.11.2012 12:24

Цитата:

Сообщение от djonA (Сообщение 217691)
Думал как вариант создать кнопку:
<input id="myButton" name="myButton" type="button" value="Reset Form" onClick="this.form.reset()" />

спрятать ее и потом в каждом конкретном случае програмно нажать на нее.
Но не получается, или может Вы подскажите еще какойто более простой вариант???

Зачем создавать дополнительную кнопку, если в каждом из блоков можно сразу добавить код очистки формы ???

9xakep 25.11.2012 12:27

djonA,
я правильно понял, что ты перезагружаешь страницу, а потом хочешь, что бы твоя функция там работала? О_о

djonA 25.11.2012 12:34

нет я хочу что бы после срабатывания функции, очищалось текстовое поле.

Так как там вставляется текст, а мне нужно что бы оно оставалось пустым

Hoshinokoe 25.11.2012 13:20

djonA,

Добавь в конец функции
$('#input').val('');

djonA 25.11.2012 16:55

тут отлично срабатывает:
$("#searchstring").keyup(function(e) {
  if (e.which == 13) {  var link = $(this).val().match(/href='([^']+)/);
	    location.href =link[1];$('#searchstring').val('');  }; 
});


а вот тут нет, не очищает форму после выполнения функции:
$(".ac_results li").live("mousedown", function(){
        window.location=$(this).find("a").attr("href"); $('#searchstring').val('');
    });

Hoshinokoe 25.11.2012 20:59

djonA,

Исправь во втором случае:
$(".ac_results li").live("mousedown", function(){
        $('#searchstring').val('');
        window.location=$(this).find("a").attr("href"); 
    });

djonA 25.11.2012 21:58

попробовал, не очищает строку.

Может можно еще какие то варианты использовать???

bes 25.11.2012 23:07

https://developer.mozilla.org/en-US/docs/DOM/form.reset

djonA 25.11.2012 23:32

Цитата:

Сообщение от bes (Сообщение 217812)

Да читал, но мне нужно именно очистить текстовое поле после клика мышкой на ссылку.

То есть добавить либо reset в конце функции, либо вывод пустой строчки в функции.

Но это должно происходить именно после клика на ссылку.

То есть вопрос как в этот код добавить очистку формы от текста:
$(".ac_results li").live("mousedown", function(){
        window.location=$(this).find("a").attr("href");
    });

bes 25.11.2012 23:36

тестовый пример с возможностью запуска [html run]

djonA 25.11.2012 23:37

Это сложно... если прямо на сайте покажу так пойдет?

bes 25.11.2012 23:39

пойдёт

djonA 25.11.2012 23:44

Сайт в лс
если в поиске начать писать что-то латинскими буквами, скажем WLX,
то предложатся варианты, если мы там выберем любой вариант и нажмем на него кнопкой мышки, то он его вначале вставит в текстовое поле, а потом сделает переход по ссылке.

Мне надо что бы он не вставлял его в текстовое поле, то есть оставлял ее пустой, при нажатии мышкой на какой то вариант.

Ну или хотя бы очищал ее после всех этих манипуляций, можно пример посмотреть если на один из вариантов нажать кнопкой enter.
Оно вначале вставится потом сразу очиститься а потом уже произойдет переход по ссылке.

bes 26.11.2012 00:49

очевидно, стоит использовать объекты с lavel и value вместо массива ссылок, либо назначать обработчики на события select, close или change
link


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