-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()),{ // ...

一种可能性是添加到所选选项的上述 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 回答