2015-11-26 44 views
-2

我正在处理域可用性检查表单,它工作得很好。我想要做的下一件事是在我的网站中实现这一点,并在搜索表单下显示脚本的输出。 我设法做到这一点,但页面在提交表单后重新加载。我怎样才能停止重新加载并显示输出?显示php结果而不重新加载页面

我明白这是由一些jquery完成的,但我无法弄清楚它是如何工作的。

这是形式

<form action="domaincheck.php" id="domain-searchform"> 
      <input class="input-text" name="domain" id="s" placeholder="Vul hier je domeinnaam in" type="text" /> 
       <select class="witch ts-option-search" name="tld"> 
          <option value=".be">.be</option><option value=".nl">.nl</option> 
          <option value=".com">.com</option> 
          <option value=".net">.net</option> 
          <option value=".org">.org</option> 
          <option value=".eu">.eu</option> 
          <option value=".uk">.uk</option> 
          <option value=".co.uk">.co.uk</option> 
       </select> 
       <input type="submit" value="Zoek" id="searchsubmit"> 
     </form> 

结果被称为目前这个

<h3 style="color:#ffffff;font-size:30px; text-align: center"> 
<?=$result?> 
</h3> 

这是PHP脚本来检查域名。

<?php 

require_once('Transip/DomainService.php'); 

if(isset($_GET['domain']) && strlen($_GET['domain']) > 0) 
{ 
    $dom = $_GET['domain']; 
    $tld = $_GET['tld']; 

    $domain = $dom . $tld; 

    try 
    { 
     $availability = Transip_DomainService::checkAvailability($domain); 
     switch($availability) 
     { 
     //check availability 
      case Transip_DomainService::AVAILABILITY_INYOURACCOUNT: 
       $result = htmlspecialchars($domain) 
          . ' is not available.'; 
      break; 

      case Transip_DomainService::AVAILABILITY_UNAVAILABLE: 
       $result = htmlspecialchars($domain) 
          . ' is not available for transfer.'; 
      break; 

      case Transip_DomainService::AVAILABILITY_FREE: 
       $result = htmlspecialchars($domain) 
          . ' is available for registration.'; 
      break; 


      case Transip_DomainService::AVAILABILITY_NOTFREE: 
       $result = htmlspecialchars($domain) 
          . ' is registered. If you are the owner, 
            you could transfer it.'; 
      break; 
     } 
    } 
    catch(SoapFault $e) 
    { 
    //error 
     $result = 'An error occurred: ' . htmlspecialchars($e->getMessage()); 
    } 
} 
else 
{ 
    $domain = ''; 
    $result = ''; 
} 

?> 
+2

这就是所谓的AJAX,谷歌它,有很多指南在那里:) – Epodax

+0

可能重复[表单提交与AJAX传递表单数据到PHP没有页面刷新](http://stackoverflow.com/questions/16616250/form -submit-with-ajax-passing-form-data-to-php-without-page-refresh) –

+0

PHP是服务器端的。这意味着它需要一个'request'才能给出一个'response'。在没有重新加载的情况下执行'request'的唯一方法是使用'AJAX' – Peter

回答

0

我建议从W3Schools看看AJAX/PHP(例如教程。

所以基本上通过点击提交按钮调用JavaScript函数,它发送一个所谓的HttpRequest到服务器为了调用PHP脚本,然后PHP脚本的输出被发送回浏览器,你可以在不重新加载页面显示的结果。

相关问题