我的意图是:首先我要在页面上显示一个按钮,点击按钮后,该按钮将被删除并显示一些其他信息。因此,我使用了以下代码,但它不起作用,按钮仍然存在,并且"其他信息"也没有表现出来。你们可以提供一些我在这里出错的建议吗?提前谢谢。
这是显示信息的代码:
<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>
我有以下代码来设置&#34; displayMessage&#34;和&#34; ifUploaded&#34;在点击&#34; kalturaBtn&#34;之后显示不同的信息按钮。
<cfif kalturaBtn eq "upload to kaltura">
<cfset ifUploaded = "1">
<cfset displayMessage = "0">
</cfif>
为什么我使用了另一个变量&#34; displayMessage&#34;这是:所有这些信息只有在我在此页面上提交表格后才会显示。
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>
答案 0 :(得分:1)
好的,也许这会对你有帮助。
您正尝试使用普通按钮提交表单。
<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;">`
相反,您需要使用提交按钮。导致问题的另一个原因是,在popupwindow()
脚本之后,您有return false
取消了表单提交。改变这两样的事情,你的表格应该有效。此外,输入元素没有href属性。
<input type="submit" name="kalturaBtn" value="upload to kaltura" onclick="popupwindow('https://lampa.human.cornell.edu/csg.kaltura/test.php?kurl=#myurl#&kname=#form.title#&rec=#ddl_choice#','','1200', '700')">`
由于您的表单未提交,因此您的页面未发生变化。