首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flash表单错误-没有名为“submit”的方法

flash表单错误-没有名为“submit”的方法
EN

Stack Overflow用户
提问于 2013-01-03 02:45:28
回答 3查看 210关注 0票数 0

我是ColdFusion的新手,我正在努力想办法做一些简单的功能,我可以在MS Access中轻松地做。

我一直收到一个错误:没有名为“submit”的方法。仅当表单格式为flash时,才会出现此错误。

任何帮助都将不胜感激。

代码语言:javascript
复制
    <html>
<cfparam name="form.state" default="">
<cfparam name="form.lastname" default="">

<!---Grid Source---> 
<cfquery name="getArtists" datasource="cfartgallery">
    SELECT A.*
    FROM ARTISTS A
    WHERE
        1=1
    AND STATE like <cfqueryparam value="%#form.state#%" cfsqltype="CF_SQL_VARCHAR" maxlength="255">
    AND LASTNAME like <cfqueryparam value="%#form.lastname#%" cfsqltype="CF_SQL_VARCHAR" maxlength="255">
    ORDER BY A.LASTNAME, A.FIRSTNAME
</cfquery>


<head>
</head>
<body style="padding:20px;">

<cfform action="TEST.cfm" method="post" format="flash">


<cfformgroup type="horizontal" style="backgroundAlpha:0;font-size:12;color:##000;">
    <cfformgroup type="vertical" width="100">

<!---Query for STATE--->
<cfquery name="getState" datasource="cfartgallery">
    SELECT A.STATE   
    FROM ARTISTS A
    WHERE
        1=1
        AND LASTNAME like <cfqueryparam value="%#form.lastname#%" cfsqltype="CF_SQL_VARCHAR" maxlength="255">
</cfquery>

<!---STATE Dropdown---> 
<cfselect name="state" query="getState" queryposition="below" 
    label="State:"
    value="STATE"
    display="STATE"  
    required="no"
    selected="#form.state#"
    onchange="submit();"
    style="backgroundAlpha:0;" width="125">
    <option></option>
</cfselect>


    </cfformgroup>
    <cfformgroup type="vertical" width="100">

<!---Query for LastName--->
<cfquery name="getLast" datasource="cfartgallery">
    SELECT A.LASTNAME   
    FROM ARTISTS A
    WHERE
        1=1
        AND STATE like <cfqueryparam value="%#form.state#%" cfsqltype="CF_SQL_VARCHAR" maxlength="255">
</cfquery>

<!---LastName Dropdown---> 
<cfselect name="lastname" query="getLast" queryposition="below" 
    label="Last Name:"  value="LASTNAME" display="LASTNAME"  
    selected="#form.lastname#"
    required="no" 
    onchange="submit();"
    style="backgroundAlpha:0;" width="125">
    <option></option>
</cfselect>

    <a href="TEST.cfm"><input type="button" value="Reset"></a>
    </cfformgroup>
    </cfformgroup>

     <cfformitem type="spacer" height="20"/>


<!---Grid---> 
        <cfgrid name="myGrid" query="getArtists" format="html">
            <cfgridcolumn name="ARTISTID" header="ARTISTID" width="75" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="FIRSTNAME" header="FIRSTNAME" width="100" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="LASTNAME" header="LASTNAME" width="75" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="ADDRESS" header="ADDRESS" width="100" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="CITY" header="CITY" width="125" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="STATE" header="STATE" width="125" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="POSTALCODE" header="POSTALCODE" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="EMAIL" header="EMAIL" width="125" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="PHONE" header="PHONE" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="FAX" header="FAX" headeralign="center" dataalign="center"/>
            <cfgridcolumn name="THEPASSWORD" header="THEPASSWORD" headeralign="center" dataalign="center"/>
         </cfgrid>

    </cfform>

</body>
</html>
EN

回答 3

Stack Overflow用户

发布于 2013-01-03 04:28:52

Dan提出了一个很好的观点,我最初的回答是基于HTML表单,而不是Flash表单。所以原始答案是无效的。然而,我发现ColdFusion中的Flash表单使用的是ActionScript,而不是JavaScript。请参阅此处的参考资料Using ActionScript in Flash forms。该页面还提到,可用于所有表单控件以重置或提交表单的自定义ActionScript函数是resetForm()submitForm()。因此,尝试将onchange事件从submit();更改为submitForm(),如下所示:

代码语言:javascript
复制
    onchange="submitForm()"

我不知道ActionScript是否需要分号。

* -以下原始答案用于历史目的- *

您没有说明何时收到错误消息"no method with the name 'submit'.“。查看您提供的代码,我假设您在从表单的状态或姓氏下拉框中选择某些内容时会出现错误。当这两个选项中的任何一个发生更改时,您是否尝试提交表单?如果我的假设是正确的,那么您可以尝试为表单提供一个id,然后限定您的提交语句。如下所示:

给你的表单一个id

代码语言:javascript
复制
<cfform id="yourformid" action="TEST.cfm" method="post" format="flash">

限定您的提交语句

代码语言:javascript
复制
<cfselect ...
    onchange="document.getElementById("yourformid").submit();"
票数 1
EN

Stack Overflow用户

发布于 2013-01-03 06:00:49

在此上下文中不会生成HTML表单。因此,您不能使用JavaScript/DOM

注意:<cfsavecontent>中的所有内容都是ActionScript:

代码语言:javascript
复制
<cfsavecontent variable="astest">
if(_global.arrMembers == undefined) _global.arrMembers = data.dataProvider.slice(0);
    var arrMembers = _global.arrMembers;
var arrDisplay:Array = [];

for(var i = 0; i < arrMembers.length; i++)
 {
    if(arrMembers[i].dept == myselect1.value || myselect1.value == 'All')
    {
        arrDisplay.push(arrMembers[i]);
    }
}
    data.dataProvider = arrDisplay;

</cfsavecontent>

然后:

代码语言:javascript
复制
<cfselect ... onChange="#astest#">

参考:http://www.asfusion.com/examples/item/filtering-records-on-a-cfform-grid

票数 1
EN

Stack Overflow用户

发布于 2013-01-03 04:23:17

这,

代码语言:javascript
复制
onchange="submit();"

将会是

代码语言:javascript
复制
onchange="this.form.submit();"

如果你有一个超文本标记语言表单。我对flash表单不太确定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14127408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档