终于让我的域名检查工作了。现在的问题是,当用户输入并提交将查询传递给process.php并且输出时,我有一个表单(搜索域)。 echo“$ Domain is / is available”
我想要的是返回我的结果页面(结果页面上还有一个搜索表单,所以如果有人在那里搜索它会显示在同一页面上)。在用户点击它时,它会通过http://example.com/process.php?domain=domain.com(etc ...)。
我认为我需要的是Ajax在它进入process.php之前拉这个url然后ajax运行查询过程将结果发送回ajax并在结果页面上输出。此外,我还有另一个PHP脚本,它显示具有不同tld的域,并显示它们是否可用的ID。所以我也需要ajax来运行它并显示它。
我是ajax的新手但寻找教程但其中大多数是用于在联系表单之后显示成功消息等。如果有人能指出我正确的方向,我会非常感激。
修改
这就是我所拥有的,但仍然会将我重新指向process.php
HTML
<form method="get" id="form">
<input type="text" class="searchdomains" onclick="if (this.value =='Domain Name Search...'){this.value=''}" value="Domain Name Search..." name="domain" id="search-domain-input">
<input type="image" src="<?php bloginfo('template_url'); ?>/inc/img/btn_up_search.png" class="search" name="Search" id="Submit">
</form>
JQuery的
$.ajax(
{
type: 'GET',
url : "http://example.com/process.php?domain=",
// here you pass js object in convention: { 'query_string' : 'its value' }
data : { 'domain' : $('#search-domain-input').val() },
success: function (data) {
$("#results").html(data);
}
}
);
PHP
if(isset($avail)){
echo '<p>'.$avail.' is available to be registered</p>'
} else {
echo '<p>'.$avail.' is taken register with us for price</p>'
}
由于 乔
答案 0 :(得分:0)
在jquery(http://jquery.com/)中,您可以使用以下函数发出ajax请求:
$.ajax(
{
url : "url to fetch",
success: function (data) {
// data is variable that is returned from server as HTML by default, or you can use JSON format
$("#content").html(data);
}
}
);
如果你不想使用jquery javascript库,你需要创建xmlhttprequest对象并为它创建帮助函数,我不建议这样做,因为jquery可以用于更多的东西而不仅仅是ajax调用。
编辑:
@comment
只需创建process.php,您将接受“domain”作为查询字符串 - 这将检查域是否存在,如果不存在则应该回显<p>'$result.'is/isn't available</p>
,而不是$ .ajax({...}) ;传递该网址,“数据”将可供您使用。
要使用$ .ajax()传递GET参数,您可以使用以下设置:
$.ajax(
{
type: 'GET',
url : "url to fetch",
// here you pass js object in convention: { 'query_string' : 'its value' }
data : { 'domain' : $('#domain_name_input_field').val() },
success: function (data) {
// data is variable that is returned from server as HTML by default, or you can use JSON format
$("#content").html(data);
}
}
);