2012-05-15 2 views
1

Я пытаюсь сбросить свое входное значение с помощью события onwebkitspeechchange, чтобы только текст речи оставался в значении.x-webkit-speech: onwebkitspeechchange не пересылает значение

onclick на небольшой микрофон удален текст

после диалога нажмите всплывающего и сброса значения в исходный текст

Код:

<input name="s" type="text" x-webkit-speech="" id="s" value="What are you looking for?" onfocus="if (this.value == 'What are you looking for?') {this.value = '';}" onwebkitspeechchange="if (this.value == 'What are you looking for?') {this.value = '';}" onblur="if (this.value == '') {this.value = 'What are you looking for?';}"> 

Я знаю, что ONBLUR событие делает это, но как может Я делаю исключение для onwebkitspeechchange, так что только речевая речь?

не может использовать атрибут заполнителя (не работает в IE 9)

ответ

1

Я столкнулся с той же проблемой, и получил его работу с простой функцией JS. Вот мое решение:

<input x-webkit-speech="x-webkit-speech" onwebkitspeechchange="webkitSpeechChange(this);" name="myinput" value="<?php echo $this->__('Search entire store here...') ?>" class="search-query" /> 
<script type="text/javascript"> 
    //<![CDATA[ 
    function webkitSpeechChange(input) { 
     input.value = input.value.replace('<?php echo $this->__('Search entire store here...') ?>', ''); 
    } 
    //]]> 
</script> 

где <?php echo $this->__('Search entire store here...') ?> должно быть ваше значение по умолчанию.

Надеюсь, что это поможет :)

Смежные вопросы