我是coldfusion的新手,请检查下面的代码
<cfif isDefined("form.submit")>
<cfoutput>
<h3>hi</h3>
</cfoutput>
</cfif>
<cfform action="#CGI.SCRIPT_NAME#">
User Name:<cfinput type="Text" name="usr_nm"><br>
<cfinput type="Radio" name="access_flg" value="0">Admin
<cfinput type="Radio" name="access_flg" value="1">User</br>
<cfinput type="submit" name="submit" value="submit"><br>
</cfform>
Run Code Online (Sandbox Code Playgroud)
但是,当我点击提交按钮时,我期待的结果是你好
我没有看到你好消息,我的代码有什么问题吗,请任何人帮助我
由于您是 ColdFusion 的新手,我会立即给您一些建议:
1.不要在同一页面提交表单。
将表单提交到单独的页面进行处理。原因是,当您进入更高级的应用程序时,您需要将页面/URL 限制为仅响应适当的 HTML 动词。
您的表单页面应该响应 HTTP GET。您的表单处理页面应该只响应 HTTP POST。
2. 不要使用CFFORM。
的功能CFFORM
是创建 JavaScript 验证和服务器端交互。这可以通过现代 JavaScript 库轻松完成,例如
3. 给你的表单元素一个ID
,以及一个NAME
。
这允许在使用 JavaScript 时更容易地引用表单元素。
4. 不要将您的提交按钮命名为“提交”。
如果您想使用 JavaScript 提交表单,那么函数是submit()
.
例如: $('#myForm').submit();
将表单元素命名为与函数相同的名称会导致错误。
这是my_form.cfm
:
<form id="myForm" name="myForm" action="my_form_action.cfm" method="post">
User Name:<input type="Text" id="usr_nm" name="usr_nm"><br>
<input type="Radio" id="access_flg_0" name="access_flg" value="0">Admin
<input type="Radio" id="access_flg_1" name="access_flg" value="1">User</br>
<input type="submit" id="my_form_submit" name="my_form_submit" value="Submit"><br>
</form>
Run Code Online (Sandbox Code Playgroud)
5.CFOUTPUT
除非你是从服务器渲染数据,否则你不需要使用。
这是my_form_action.cfm
:
<cfif structKeyExists(form, "my_form_submit")>
<h3>Hi!<lt>
</cfif>
Run Code Online (Sandbox Code Playgroud)
更好的是:
<cfif (cgi.request_method IS "post") AND (structKeyExists(form, "my_form_submit"))>
<h3>Hi!<lt>
</cfif>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7788 次 |
最近记录: |