我的意圖是:首先我想在頁面上顯示一個按鈕,點擊按鈕後,該按鈕將被刪除並顯示一些其他信息。因此我使用了下面的代碼,但它不起作用,按鈕仍然存在,「其他信息」也不顯示。你們能提供一些我在這裏出錯的建議嗎?提前致謝。如何在點擊按鈕後顯示其他信息?
這是顯示信息的代碼:
<cfif displayMessage eq 1>
<cfif ifUploaded eq 0>
<div id='message_box'>
<cffile action="upload" filefield="PRESENTATION_FILENAME" destination="#ExpandPath("./uploads/")#" nameconflict="overwrite">
<cfset myfile = #cffile.clientFile#>
<cfset myurl = mid(cgi.HTTP_REFERER,1,46) & 'uploads/' & #myfile#>
<div id="btn"><input type="button" name="kalturaBtn" value="upload to kaltura" href="javascript:void();" onclick="popupwindow('https://lampa.human.cornell.edu/csg.kaltura/test.php?kurl=#myurl#&kname=#form.title#&rec=#ddl_choice#','','1200', '700'); return false;"></div>
</div>
</cfif>
</cfif>
<cfif ifUploaded eq 1>
<div id='message_box'>
<div>#messageTitle#</div>
<div>#messageBody#</div>
</cfif>
和我有以下代碼來設置「displayMessage」和「ifUploaded」擊中「kalturaBtn」按鈕後,顯示不同的信息。
<cfif kalturaBtn eq "upload to kaltura">
<cfset ifUploaded = "1">
<cfset displayMessage = "0">
</cfif>
的原因,爲什麼我用另一個變量「displayMessage」這裏是:只有我會在本頁面提交表單後,會顯示所有這些信息。
HTML代碼:
<cfoutput>
<cfform name="frmPresentation" id="frmPresentation" action="#CGI.SCRIPT_NAME#" enctype="multipart/form-data">
<!--- Information Table --->
<div id='main_body'>
<div id='inside'>
<div style='text-align: center; font: bold 18pt Arial, Helvetica, sans-'serif'>CHE Multimedia Management Page</div>
<br/>
<cfif displayMessage eq 1 AND len(form.PRESENTATION_FILENAME) gt 0>
<cfif ifUploaded eq 0>
<div id='message_box'>
<cffile action="upload" filefield="PRESENTATION_FILENAME" destination="#ExpandPath("./uploads/")#" nameconflict="overwrite">
<cfset myfile = #cffile.clientFile#>
<cfset myurl = mid(cgi.HTTP_REFERER,1,46) & 'uploads/' & #myfile#>
<div id="btn"><input type="button" name="kalturaBtn" value="upload to kaltura" href="javascript:void();" onclick="popupwindow('https://lampa.human.cornell.edu/csg.kaltura/test.php?kurl=#myurl#&kname=#form.title#&rec=#ddl_choice#','','1200', '700'); return false;"></div>
<span onclick='this.parentNode.style.display="none"'></span>
</div>
</cfif>
</cfif>
<cfif ifUploaded eq 1>
<div id='message_box'>
<div>#messageTitle#</div>
<div>#messageBody#</div>
</div>
</cfif>
<cfdump var="#kalturaBtn#">
// a lot of other code omitted here
<input type='submit' name='submitMedia' value='Submit Changes' class='submit' onclick='return confirmSubmit()'/>
</form>
</cfoutput>
將每個值輸出到屏幕以確保您獲得所需的值。爲了清晰起見,我建議使用true/false而不是1/0。 –
@MattBusche我用輸出一些變量,似乎沒有執行>代碼。 –
代碼或多或少看起來不錯。如果設置'ifUploaded'和'displayMessage'的代碼沒有處理,那麼問題是客戶端。一個小小的建議是始終確定變量的範圍。如果這是一個表單變量,那麼使用''。有時,儘管不太可能,但當您使用unscoped變量時,CF使用的變量與您認爲的不同。它也可能導致安全問題。 'kalturaBtn'是否顯示在'cfdump'中,值是多少? –