我现在已经摆弄了几个小时,http://www.jqueryrain.com/?Om7fqYxi并且我有点卡住了,我想手动搜索每个.com,.net,.org和.me,所以它输入,选择菜单,提交,并根据从下拉列表中选择的域显示结果。
这是表单布局的粗略副本:
<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
的下载中答案 0 :(得分:1)
在教程中是:
$.post('process.php?domain=' + escape($('#Search').val()),{ // ...
其中一种可能性是添加到所选选项的上述url值:
$.post('process.php?domain=' + escape($('#Search').val()) + '&trd=' + $('select[name=trd]').val(),{ // ...
然后在PHP脚本中,您可以从$_GET['trd']
变量中读取此值。
-
如果您想阅读trd
中的$_POST
值,可以使用:
$.post('process.php?domain=' + escape($('#Search').val()), {'trd': $('select[name=trd]').val()},{ //...
然后看看@Michel Feldheim回答
答案 1 :(得分: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>
注意:在示例表单选项中没有值属性。此值是必需的,因为它是在您提交表单时发送的。标签之间的文本只是浏览器的显示字符串。
第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
}