使用ColdFusion将文本框中的文本放入textareas中

时间:2014-05-20 19:49:29

标签: html session coldfusion textbox textarea

我已经尝试了几种不起作用的不同的东西,所以我决定做一个完整的编辑来展示我所做的工作,并更深入地了解我想要完成的工作。但是,我仍会保持简短,所以你们不必筛选这么多代码

基本上,我有两种不同的CFM(Code1.cfm和Code2.cfm)。基本上我需要从Code1.cfm中将一些输入到文本块中的变量放到Code2.cfm中的特定区域。

Code1.cfm代码:

<table>
 <tr>
  <td>Full Name:</td>
  <td>
   <input type="text" label="FirstName" value="#FirstName#" name="FirstName">
  </td>
  <td>
   <input type="text" label="LastName" value="#LastName#" name="LastName">
  </td>
 </tr>
 <tr>
  <td>
   <unput type="submit" name="btn_Update" value="Update" 
    onclick="return confirm('Are you sure you want to update your selection?')">
  </td>
 </tr>
 <tr>
  <td>
   <IFrame id="sugg" name="NoteForm" width="745" height="205" src="Form2.cfm"></IFrame>
  </td>
 </tr>
</table>

<FORM action="form2.cfm" method="post" target="Notes">
 <CFIF IsDefined("FirstName") OR IsDefined("LastName")>
  <cfoutput>
   The Full Name has been changed to #form.FirstName# #form.LastName#.
  </cfoutput>
 </CFIF>
</FORM>

Code2.cfm代码:

    <FORM>
    <TABLE width="670" background="/Index_MAB/_Images/CCT_Backdrop.jpg">
    <TR style="font: 8pt tahoma; color: 000066"  background="/Index_MAB/_Images/CCT_Backdrop.jpg">
        <TD align="left" width="498" valign="top"><textarea style="font: 8pt verdana; color: 000000; background-color:F7F5F0" name="Eng_Notes2" cols=75 rows=10 wrap="VIRTUAL" >
                #HtmlEditFormat(Eng_Notes)#
            </textarea></TD>
        <TD align="left" width="80" valign="top">
            <CFIF #Date_LastUpdate# IS NOT ''>
                <FONT color="FF0000">Updated:</FONT><BR> #DateFormat(Date_LastUpdate, 'dd-mmm-yy')#
            <CFELSE>
                <FONT color="003366">Entered:</FONT><BR> #DateFormat(DateofEntry, 'dd-mmm-yy')#
          </CFIF>
        </TD>
        <TD align="left" width="110" valign="top">
            <input type="submit" name="btn_updnote" value=" Update " style="font: 7pt verdana; color: CC0000;" ONCLICK="return confirm('You are about to Update this NOTE - are you sure?')">
        </TD>               
        <TD width="2%"></TD>
    </TR>   
    </CFOUTPUT>
    </TABLE>
    </FORM>
    <FORM>
<TABLE width="670" background="/Index_MAB/_Images/CCT_Backdrop.jpg">
    <TR style="font: 8pt tahoma; color: 000066"  background="/Index_MAB/_Images/CCT_Backdrop.jpg">
        <TD align="left" width="498" valign="top">
            <TEXTAREA STYLE="font: 8pt verdana; color: 000000; background-color: F3F8F7" NAME="Eng_Notes" COLS=75 ROWS=2 WRAP="virtual"></TEXTAREA>
        </TD>
        <TD align="left" width="110" valign="top">
            <input type="submit" name="btn_addnote" value="   Enter    " style="font: 8pt verdana; color: 003399;" ONCLICK="return confirm('You are about to Add a NOTE  - are you sure?')">
        </TD>               
        <TD width="2%"></TD>
    </TR>   
    </TABLE>
</FORM>

这一切都设置在人们可以按照他们的感觉输入注释的位置,并将这些注释输入到Code2.cfm的第二个文本区域。当它们被提交时,它将显示在Code2.cfm的第一个文本区域中。我试图让Code2.cfm上的第一个文本区仍然继续显示#HtmlEditFormat(Eng_Notes)#,因为它已经显示这个自动一揽子声明,关于当用户完成更新的名称时

我希望这是有道理的。我试图尽可能多地向你们提供信息,同时不使用无用的代码,并且仍然根据客户谨慎处理。

忘了提一件事。我已经尝试了#form.FirstName#格式以及#HtmlEditFormat(&#39; FirstName&#39;)以及会话(我可能做错了),我得到的就是已经发表的评论显示。没有涉及更新名称的评论。

修改
所以我取得了一些进展,并没有使用我设定的方法,而是采用更简单的方法。

当我问这个问题时,我没有访问数据库,所以我无法查看变量以通过SQL实现它,但恰好碰巧我得到了权限才能找到一种方法做任何其他方式。

无论如何,我通过在示例的第一个表单中使用另一个textarea来设置我试图应用于其他textarea的注释

加入Form1.cfm

<textarea name="new_name" style="visibility:hidden">The first and last name has been updated>

然后我为SQL创建了一个insert语句,将变量new_name放在我需要的地方,这恰好出现在Eng_Note中,以便它可以显示在第二个表单的文本区域中(form2.cfm)

我仍有2个问题。它的设置方式现在每次提交表单时都会在数据库中更新,正如您所看到的那样可能会导致内存问题,因此我需要将其设置为只有在名字和姓氏时才会提交的地方更新?我甚至可以将数据库中的变量放入第一个textarea?

<textarea name="new_name" style="visibility:hidden">The first and last name has been updated>

我希望它能像我原先所说的那样在那里展示。非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

表单提交中的所有数据都可以在表单范围内的目标上获得。文档在这里:

http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7ffe.html

基本上在您的示例中,“FirstName”和“LastName”可用作:

#form.FirstName#

#form.LastName#
表单目标上的

,我假设是form2.cfm。

希望有所帮助。

答案 1 :(得分:0)

这是一种格式化的评论。你有这个:

<TEXTAREA STYLE="font: 8pt verdana; color: 000000; background-color:F7F5F0" 
NAME="Eng_Notes" ID="Eng_Notes" COLS=75 ROWS=10 WRAP="VIRTUAL" >
#HtmlEditFormat(Eng_Notes)#
</TEXTAREA>

textarea并不是使用HtmlEditFormat()函数的最佳位置。让我们说Eng_Notes的值是,&#34;如果&lt; = b&amp;&amp; b&lt; = c然后a&lt; = c&#34;。无论有没有这个功能,都可以将它放在你的textarea中,并根据你的情况决定什么是最好的。

你也有这个:

<CFIF #Date_LastUpdate# IS NOT ''>

你不需要octothorps。所有你需要的是:

<CFIF Date_LastUpdate IS NOT ''>

你也说过这个,&#34;我知道在c#中这可以通过会话设置完成。&#34;将表单提交值传递到会话范围可以在.net,php,ColdFusion以及几乎任何其他Web编程服务器端编程语言中完成。但是,在所有这些语言中,您仍然需要提交表单。此外,在所有编程语言中,它都是有风险的。使用现代浏览器,人们以程序员未预料到的方式更改会话变量的可能性远远高于15年前。

答案 2 :(得分:0)

所以第二个方框中的文本区域是从数据库中提取数据,所以我最后做的是制作一些隐藏的文本区域并在那里放置我需要的信息,然后使用表格中的那些值并制作一个插入语句,以便将其上载到引用的数据表