-1

私はhttp://www.jqueryrain.com/?Om7fqYxiを使って数時間いじっていましたが、ちょっと立ち往生しています。.com、.net、.org、.入力、選択メニュー、送信に進み、ドロップダウンから選択されたドメインに基づいて結果が表示されます。

これはフォーム レイアウトの大まかなコピーです。

<form method="post">
<input type="text" autocomplete="off" id="Search" name="domain"><select name="trd">
<option>.com</option>
<option>.net</option>
<option>.org</option>
<option>.me</option>
</select><input type="submit" id="Submit" value="Submit"></form>

したがって、基本的に、このチュートリアルではドメイン検索ツールを作成しますが、一度にすべてのドメインを検索するため、選択したオプションの値のみを返すようにしたいと考えています。

process.php ファイルは、リンクhttp://www.jqueryrain.com/?Om7fqYxiからダウンロードできます。

4

2 に答える 2

1

チュートリアルでは次のとおりです。

$.post('process.php?domain=' + escape($('#Search').val()),{ // ...

可能性の 1 つは、選択したオプションの上記の URL 値に追加することです。

$.post('process.php?domain=' + escape($('#Search').val()) + '&trd=' + $('select[name=trd]').val(),{ // ...

$_GET['trd']次に、PHP スクリプトで、変数からこの値を読み取ることができます。

--

trdから値を読み取りたい場合は、$_POST次を使用できます。

$.post('process.php?domain=' + escape($('#Search').val()), {'trd': $('select[name=trd]').val()},{ //...

次に@Michel Feldheimの回答を見てください

于 2013-01-06T10:42:26.890 に答える
0

私はこのようなことをします:

1. 可能な .TLD を配列で定義する

$possibleTLD = array (
    '.org',
    '.com',
    '.net'
);

2.これを使用してドロップダウンを出力します

<form action="" method="post">
    <input type="text" name="domain" />
    <select name="tld">
        <?php foreach ( $possibleTLD as $tld ): ?>
            <option value="<?php echo $tld; ?>"><?php echo $tld; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="submit" name="submit" value="lookup" />
</form>

注: この例では、フォームのオプションに value 属性がありません。この値は、フォームの送信時に送信されるため、必須です。タグ間のテキストは、ブラウザの表示文字列です。

3. フォーム送信後の値の確認と処理

if ( !empty( $_POST['tld'] ) ) {
    // check tld against our possible values
    if ( !in_array( $_POST['tld'], $possibleTLD ) {
        die( 'not a valid TLD' );
    }

    // check domain name, the regex will need some work
    if ( !preg_match ( '/^[a-z][a-z0-9üöä]+$/U', $_POST['domain'] ) ) {
        die( 'not a valid domain' );
    }

    $cleanDomain = strtolower ( $_POST['domain'] ) . $_POST['tld'];

    // the lookup and result output

}
于 2013-01-06T11:02:26.923 に答える