2010-06-21 4 views
0

Мне нужна помощь с ColdFusion, я хочу использовать библиотеку ajax CF9, у меня есть <cfajaximport tags="cfform"> в моем заголовке и включает форму с использованием <cfdiv bind="url:domainchecker.cfm">. Это, однако, заменяет всю форму «Загрузка» ajax затем показывает результаты.Coldfusion Ajax - Представление формы

Что мне нужно, это форма для отправки, но отдельная область результатов обновляется (и, очевидно, будет иметь «загрузку» ajax). Я не хочу, чтобы вся область менялась (это имеет смысл?)

ответ

0

Я лично использовал бы jQuery над функциями CF Ajax для чего-то, кроме простой привязки, без лишнего дополнительного JavaScript.

provided JavaScript functions от CF слишком ограничены.

Поскольку вы уже используете jQuery, это должно быть довольно легко. Посмотрите на функции Ajax + Manipulation jQuery.

+0

Привет Генри, спасибо за быстрый ответ. Ive никогда не использовал ajax в coldfusion (никогда не нужно), так что вы могли бы привести мне пример? Или просто укажите в сторону хорошего. Дайте мне пример того, что вы имеете в виду под jQuery (Im, использующий jQuery на сайте) Большое спасибо заранее – jtanner

1

Итак, после поиска много души, мне удалось это:

<head> 
... 
<cfajaximport /> 
... 
    <script> 
     function handleResponse(s) { 
      if(s == "AVAILABLE") { 
       //rewrite span 
       var domainspan = document.getElementById('DomainStatus'); 
       var newcontent = "Available To Register :)"; 
       domainspan.innerHTML = newcontent; 
       var loadingspan = document.getElementById('frmGO'); 
       var newcontent = "<input name='' value='GO!' class='search_domain_go' type='submit' />"; 
       loadingspan.innerHTML = newcontent; 
      } else { 
       //rewrite span 
       var domainspan = document.getElementById('DomainStatus'); 
       var newcontent = "Unavailable To Register :("; 
       domainspan.innerHTML = newcontent; 
       var loadingspan = document.getElementById('frmGO'); 
       var newcontent = "<input name='' value='GO!' class='search_domain_go' type='submit' />"; 
       loadingspan.innerHTML = newcontent; 
      } 
     } 

     function CheckDomain() { 
      var loadingspan = document.getElementById('frmGO'); 
      var newcontent = "<input name='' type='image' class='search_domain_go' src='images/ajax-loader.gif' alt='' />"; 
      loadingspan.innerHTML = newcontent; 
      ColdFusion.Ajax.submitForm('frmDomainCheck','checkdomain.cfm',handleResponse); 
     } 
    </script> 
... 
</head> 

<body> 
... 
     <div class="search_domain"> 
      <div class="search_domain_form"> 
      Search Your Domain Here<br /> 
       <form method="post" action="" onSubmit="CheckDomain();return false;" id="frmDomainCheck"> 
        <input class="search_domain" name="frmURL" id="frmURL" value="Please enter your domain name here..." onfocus="if(this.value == 'Please enter your domain name here...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Please enter your domain name here...';}" type="text" /> 
        <span id="frmGO"><input name="" value="GO!" class="search_domain_go" type="submit" /></span> 
       <form> 
      </div><!-- /# end search form --> 
      <div class="domain_features"> 
       <ul> 
        <li><span id="DomainStatus">Type in the domain and click 'GO' to check its availability.</span></li> 
       </ul> 
      </div> 
     </div> 
... 
</body> 
0

Держите это просто?

domainSearch.cfm

<head> 
</head> 

<body> 
<h2 style="color:Blue">Domain search</h2> 
<form name="domainSearch"> 
www.<input class="search_domain" name="searchString" id="frmURL" value="Please enter your domain" onfocus="if(this.value == 'Please enter your domain') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Please enter your domain';}" type="text" />.com 
<font color="#FF0000"><strong>[Search]</strong></font> 
</form> 
<p>Enter any domain.com, (hint: try "free")</p> 
<cfdiv id="resultsDiv" bind="url:searchProcessor.cfm?searchString={searchString}"> 
</body> 
</html> 

searchProcessor.cfm

<cfif IsDefined("URL.searchString")> 

    <cfif URL.searchString eq "Please enter your domain"> 
     <cfoutput></cfoutput> 
    <cfelseif URL.searchString eq "free"> 
     <cfoutput>Great, #URL.searchString# is available, price $400</cfoutput> 
    <cfelse>  
     <cfoutput>Sorry, #URL.searchString# is not available, try again.</cfoutput> 
    </cfif> 
</cfif>