2010-06-21 16 views
0

J'ai besoin d'aide avec ColdFusion, je veux utiliser la bibliothèque ajax CF9, j'ai <cfajaximport tags="cfform"> dans mon en-tête, et inclus un formulaire en utilisant <cfdiv bind="url:domainchecker.cfm"> Cela remplace cependant la forme entière avec le "Loading" ajax la roue montre alors les résultats. Ce dont j'ai besoin, c'est que la forme à soumettre, mais la zone de résultats séparée est ce qui est mis à jour (et aura évidemment le "chargement" ajax). Je ne veux pas que toute la zone change (cela a-t-il un sens ??)Coldfusion Ajax - Soumission de formulaire

Répondre

0

Personnellement, j'utiliserais jQuery sur les fonctions CF Ajax pour quelque chose au-delà de la simple liaison sans trop de JavaScript supplémentaire. Les provided JavaScript functions de CF sont tout simplement trop limitées.

Puisque vous êtes déjà utilisé jQuery, cela devrait être assez facile. Regardez les fonctions Ajax + Manipulation de jQuery.

+0

Salut Henry, Merci pour la réponse rapide. Je n'ai jamais vraiment utilisé ajax dans coldfusion (jamais besoin de) donc pourriez-vous me donner un exemple? Ou pointez simplement dans la direction d'un bon. Donne-moi un exemple de ce que tu veux dire avec jQuery (Im utilisant jQuery sur le site) Merci beaucoup d'avance – jtanner

1

Ainsi, après la recherche de l'âme beaucoup, j'ai réussi ceci:

<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

Keep it simple?

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>