6

重複の可能性:
送信ボタンがないときにEnterキーが押されたときに送信するフォームを取得する

非表示の送信機能を備えたテキスト入力ボックスを実装しようとしています。そのため、フィールドには送信ボタンが添付されておらず、「Enter」キーが押されたときに送信されます。

コードを機能させる方法の例を次に示します。

<form method="get" action="<?php bloginfo('home'); ?>/"><p>

<input class="text_input" type="text" value="SEARCH: type &amp; hit Enter" name="s" id="s" onfocus="if 
(this.value == 'SEARCH: type &amp; hit Enter') {this.value = '';}" onblur="if (this.value == '') 
{this.value = 'SEARCH: type &amp; hit Enter';}" />

<input type="hidden" id="searchsubmit" value="" /></p></form>

これが私が働けないコードです:

<p>Have us call you. Input your number:</p>
<input type="text" id="phone" name="phone" maxlength="10" size="10">
<input type="submit" value="Click-to-Call"  onclick="window.open('http://secure.ifbyphone.com/clickto_status.php?click_id=34124&phone_to_call=' + getElementById('phone').value + '&key=asdfjknj3459dj38sdka92bva', 'Clickto' , 'width=200,height=200,toolbar=no,location=no, menubar=no, scrollbars=no, copyhistory=no,resizable=no')">

「onclick」部分のURLにGETリクエストを含むform属性を追加しようとしましたが、役に立ちませんでした。

これを機能させる方法について何か考えはありますか?

4

2 に答える 2

15

IDsearchsubmitに関するcssにこれを追加します。

    #searchsubmit
    {    
        visibility: hidden;
    }

ボタンは引き続き機能しますが、表示されません。フォームの入力がフォーカスされている/使用されている場合、Enterアクションはデフォルトで機能するはずです。


onBlur関数は、必要なアクションをトリガーしている可能性があります。onBlurは、ユーザーが入力フィールドを離れる(クリックして離れる)ときに発生します

JQueryを使用してみることができます。

$(function() {
$('form').each(function() {
    $('input').keypress(function(e) {
        // Enter pressed?
        if(e.which == 10 || e.which == 13) {
            this.form.submit();
        }
    });

    $('input[type=submit]').hide();
});

});

これにより、フォームのonSubmitイベントがトリガーされますが、変更することができます

this.form.submit

にとって

$('#phone').blur()

http://api.jquery.com/blur/


これでjavascriptスクリプトブロックを追加してみてください:

   document.getElementsById('phone')[0].onkeydown= function(event)
{
    if (event == undefined)
    {    
        event = window.event;
    }

    if (event.keyCode == 13)
    {
        var js_phone = document.getElementsByName('phone')[0].value;
        window.location = 'myPage.php?phone='+js_phone;
        return false;
    }
};
于 2012-07-17T15:42:03.623 に答える
1

何かを隠すには、次のコードを使用できます。

input[type=submit]
{
    display:hidden;
}

input[type=submit]例としてそこにあります。送信ボタンのセレクターに置き換えてください。

お役に立てれば。

于 2012-07-17T16:06:31.087 に答える