1

音声テキストのみが値に残るように、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 では機能しません)

4

1 に答える 1

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...') ?>ありますか。

お役に立てれば :)

于 2013-03-01T12:34:01.360 に答える