2017-12-15 8 views
0

Ich arbeite in HTML und Coldfusion. Ich möchte eine Variable in CF auf Null setzen, dann ein Onclick-Ereignis auslösen ein Skript, das den Wert in der HTML-Variable in eine Eins ändert. Dann kann ich ein cfif ausführen, das wahr ist, wenn es eine Eins in der Variablen gibt. Kennt jemand den besten Weg, dies zu tun? Das ist es, was ich versuche, aber das onClick löst nichts Nützliches aus.Wie kann ich eine HTML-Variable ändern?

<cfset dayHolder = 0> 

<!--- Make a Submit Button ---> 
<div style="max-width:50%; margin: auto; padding-top: 20px; text-align: center"> 
    <input type="button" name="submit" onclick="setupVar();" value="Submit Day Page" tooltip="Submits Your Hour by Hour" 
    style="font-family:Times New Roman; font-size:16px;"/> 
</div> 
    <script> 

    function setupVar(){ 
     dayHolder=1; 
    return dayHolder; 
    } 
    </script> 

    <cfoutput> #dayHolder#</cfoutput> 
    <br> 

    <!--- Send the data to the database ---> 
    <cfif 'dayHolder' eq 1> 
    etc... 

Vielen Dank im Voraus.

+2

Javascript kann CFML-Code nicht ausführen. Das erfordert eine neue HTTP-Anfrage, entweder mit Ajax oder durch Absenden eines Formulars. – Ageax

Antwort

1

Sie mischen Ihre Ideen ein wenig, Javascript wird auf dem Client-Browser ausgeführt, während CF auf dem Server ausgeführt wird. Um die Änderungen, die Sie versuchen, vorzunehmen, müssen Sie ein Formular senden. Hier ist ein Beispiel, das Ihnen helfen sollte:

<cfif structKeyExists(FORM,"dayHolder")> 
    <cfset dayHolder = FORM.dayHolder> 
<cfelse> 
    <cfset dayHolder = 0> 
</cfif> 

<!--- Make a Submit Button ---> 
<form> 
    <input type="hidden" name="dayHolder" id="dayHolder" value="0"> 
    <div style="max-width:50%; margin: auto; padding-top: 20px; text-align: center"> 
     <input type="submit" name="submit" onclick="setupVar();" value="Submit Day Page" tooltip="Submits Your Hour by Hour" 
     style="font-family:Times New Roman; font-size:16px;"/> 
    </div> 
</form> 
<script> 

function setupVar(){ 
    document.getElementById('dayHolder').value = '1'; 
    return true; 
} 
</script> 

<cfoutput> #dayHolder#</cfoutput> 
<br> 

<!--- Send the data to the database ---> 
<cfif dayHolder eq 1> 

* aktualisiert nach Kommentar.

+0

Danke. Das hat genau das gemacht, was ich brauchte. Ich schätze die Hilfe und Lernmöglichkeiten sehr. – robbysan

+0

kein Problem, denken Sie daran, die Antwort zu akzeptieren;) –

+1

Ich würde empfehlen, nicht 'isDefined()', obwohl. Gehen Sie stattdessen mit 'structKeyExists (FORM," dayHolder ")'. Das stoppt etwas in der Form von 'mylink.cfm? FORM.dayHolder = ', das in Ihre Seite zurückgeschrieben wird. – Shawn

Verwandte Themen