2013-01-02 2 views
0

ColdFusion을 처음 사용하며 MS Access에서 쉽게 할 수있는 몇 가지 간단한 기능을 수행하는 방법을 파악하는 데 어려움을 겪고 있습니다.플래시 양식 오류 - 이름이 'submit'인 메서드가 없습니다.

오류가 계속 발생합니다 : '제출'이라는 이름의 메소드가 없습니다. 이 오류는 양식 형식이 플래시이기 때문에 발생합니다.

도움을 주시면 감사하겠습니다. 당신이 HTML 양식이 있다면

<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> 
+0

, html 양식을 사용하지 않는 이유는 무엇입니까? 플래시를 사용해야하는 이유가 궁금하다면 .. – Leigh

답변

0

이,

onchange="submit();" 

onchange="this.form.submit();" 

이 될 것입니다. 플래시 형태에 대해 잘 모르겠습니다.

+0

내 게시물을 게시 한 후 답변을 보았습니다. 우리는 같은 결론에 도달했습니다. –

1

Dan은 좋은 점을 제기합니다. 원래의 대답은 플래시 양식이 아닌 HTML 양식을 기반으로합니다. 그래서 원래의 대답은 유효하지 않습니다. 그러나 ColdFusion의 Flash 양식은 JavaScript가 아닌 ActionScript를 사용합니다. 여기 참조를 참조하십시오 Using ActionScript in Flash forms. 이 페이지에서는 모든 양식 컨트롤에서 양식을 재설정하거나 제출할 수있는 사용자 정의 ActionScript 함수가 resetForm()submitForm()이라는 점도 언급했습니다. 그래서 submit();에서이 같은 submitForm()onchange 이벤트를 변경해보십시오 : 세미콜론이 ActionScript에 필요하거나하지 않은 경우

onchange="submitForm()" 

나도 몰라. 역사적인 목적으로는 아래


* --- ORIGINAL 답변 --- * 오류 점점 때

당신은 말하지 않았다 "이름이 '제출'와 어떤 방법을." . 제공 한 코드를 보면 폼의 성 또는 이름 드롭 다운 상자에서 무언가를 선택할 때 오류가 발생한다고 가정합니다. 이 선택 사항 중 하나가 변경되면 양식을 제출하려고합니까? 내 가정이 정확하다면 양식을 id으로 제출하고 제출 진술 문을 검증 해보십시오. 이런 식으로 뭔가 :

id

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

이 제출 문 HTML 폼을 생성하지 않습니다 이러한 맥락에서

<cfselect ... 
    onchange="document.getElementById("yourformid").submit();" 
+0

구문은 플래시 양식에서 작동합니까? –

+0

정말로 (필자는 플래시 양식을 사용하지 않습니다) 확실하지 않습니다. 나는 그들이 게시 한 오류에 기초하고 있었다. 좀 더 자세한 내용이 도움이 될 것입니다. –

+0

@DanBracuk 나는 당신이 플래시 형태에 대해 정확하다고 생각합니다. 나는 나의 대답을 업데이트했다. –

1

을 자격 양식 줘. 따라서 자바 스크립트/DOM

주를 사용할 수 없습니다 나중에 그런

<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> 

: <cfsavecontent> 내부의 모든 액션입니다

<cfselect ... onChange="#astest#"> 

참조 : 여담으로 http://www.asfusion.com/examples/item/filtering-records-on-a-cfform-grid