【问题标题】:Is textarea a required field?textarea 是必填字段吗?
【发布时间】:2023-03-10 03:38:01
【问题描述】:

我正在构建一个大型表格,用于编制我们的客户(喜剧演员)的巡演时间表。 Seen here.

每当我删除底部较大的文本区域时,表单就会停止工作,即。提交按钮没有任何作用。

任何人为什么会发生这种情况?谢谢。

我不确切知道什么会有所帮助,但这是包含表单的 div 的代码:

<div class="info-avails">       

<form action="http://www.standupexperts.com/cgi-sys/formmail.pl" method="post" name="hgmailer" >
<input type="hidden" name="recipient" value="adam@standupexperts.com">
 <input type="hidden" name="subject" value="FormMail E-Mail">

                    <p> Name:<span style="color:white">X-</span>  <input type="text" name="name" size="20" value="">
                    <span style="color:white">X.X</span>Email: <input type="text" name="email" size="30" value=""><br />
                    Cell #: <span style="color:white">X.</span><input type="text" name="cell" size="20" value="">
                    Address:<span style="color:white">X</span><input type="text" name="address" size="30" value=""><br />
                    Website: <input type="text" name="website" size="20" value="">
                    Video Link:<input type="text" name="videolink" size="30" value=""><br />
                <!--    Tell us about your event. <br />  <textarea name="comment" cols="40" rows="6"></textarea> <br /> -->


                    </p>

            <div class="avails-method">
    <h3>
    Our avails method
    </h3>

If you cannot use the form below, you can <a href="mailto:adam.comedycaravan@gmail.com">email your schedule</a>. Use our notation system if you want your avails entered sooner.    

<a href="http://www.mediafire.com/file/wqyo8tpwq536048/2013_Comedy_Caravan_Avails_Sheet.doc">
                    Download</a> our 2013 avails sheet.
                    <br /><br />
For routing purposes, we want to know the dates you are NOT available and what state you'll be on those dates. <br /><br />

Below, <em>an X is already placed on open/available weeks</em>. For booked dates, please enter days booked and the state.

Example:<ul>
    <li>12-3: X (open)</li>
    <li>12-10: X 11-14 NC (open except the 10th thru 14th of Dec in NC)</li>
    <li>12-17: 19 OH, 22 IN (open except for the 19th of Dec in OH and the 22nd in IN)</li>
    <li>We are unable to work with <em>just</em> the day of the week (3/11: Thurs-Sun)</li>
    </ul>

                    </div> 
        <br class="clear" />                
    <h4>
    2013 Avails/Schedule
    </h4>


    <div class="year2013">
        <div class="jan-apr">

    1/07: <input type="text" name="1/07__" size="20" value="X"><br />
    1/14: <input type="text" name="1/14__" size="20" value="X"><br />    
    1/21: <input type="text" name="1/21__" size="20" value="X"><br />
    1/28: <input type="text" name="1/28__" size="20" value="X"><br />
    2/04: <input type="text" name="2/04__" size="20" value="X"><br />
    2/11: <input type="text" name="2/11__" size="20" value="X"><br />
    2/18: <input type="text" name="2/18__" size="20" value="X"><br />
    2/25: <input type="text" name="2/25__" size="20" value="X"><br />
    3/04: <input type="text" name="3/04__" size="20" value="X"><br />
    3/11: <input type="text" name="3/11__" size="20" value="X"><br />
    3/18: <input type="text" name="3/18__" size="20" value="X"><br />
    3/25: <input type="text" name="3/25__" size="20" value="X"><br />
    4/01: <input type="text" name="4/01__" size="20" value="X"><br />
    4/08: <input type="text" name="4/08__" size="20" value="X"><br />
    4/15: <input type="text" name="4/15__" size="20" value="X"><br />
    4/22: <input type="text" name="4/22__" size="20" value="X"><br />
    4/29: <input type="text" name="4/29__" size="20" value="X"><br />
    </div>
    <div class="may-aug">
    5/06: <input type="text" name="5/06__" size="20" value="X"><br />
    5/13: <input type="text" name="5/13__" size="20" value="X"><br />
    5/20: <input type="text" name="5/20__" size="20" value="X"><br />
    5/27: <input type="text" name="5/27__" size="20" value="X"><br />
    6/03: <input type="text" name="6/03__" size="20" value="X"><br />
    6/10: <input type="text" name="6/10__" size="20" value="X"><br />
    6/17: <input type="text" name="6/17__" size="20" value="X"><br />
    6/24: <input type="text" name="6/24__" size="20" value="X"><br />
    7/01: <input type="text" name="7/01__" size="20" value="X"><br />
    7/08: <input type="text" name="7/08__" size="20" value="X"><br />
    7/15: <input type="text" name="7/15__" size="20" value="X"><br />
    7/22: <input type="text" name="7/22__" size="20" value="X"><br />
    7/29: <input type="text" name="7/29__" size="20" value="X"><br />
    8/05: <input type="text" name="8/05__" size="20" value="X"><br />
    8/12: <input type="text" name="8/12__" size="20" value="X"><br />
    8/19: <input type="text" name="8/19__" size="20" value="X"><br />
    8/26: <input type="text" name="8/26__" size="20" value="X"><br />
    </div>
    <div class="sept-dec">
    9/02: <input type="text" name="9/02__" size="20" value="X"><br />
    9/09: <input type="text" name="9/09__" size="20" value="X"><br />
    9/16: <input type="text" name="9/16__" size="20" value="X"><br />
    9/23: <input type="text" name="9/23__" size="20" value="X"><br />
    9/30: <input type="text" name="9/30__" size="20" value="X"><br />
    10/07: <input type="text" name="10/07__" size="19" value="X"><br />
    10/14: <input type="text" name="10/14__" size="19" value="X"><br />
    10/21: <input type="text" name="10/21__" size="19" value="X"><br />
    10/28: <input type="text" name="10/28__" size="19" value="X"><br />
    11/04: <input type="text" name="11/04__" size="19" value="X"><br />
    11/11: <input type="text" name="11/11__" size="19" value="X"><br />
    11/18: <input type="text" name="11/18__" size="19" value="X"><br />
    11/25: <input type="text" name="11/25__" size="19" value="X"><br />
    12/02: <input type="text" name="12/02__" size="19" value="X"><br />
    12/09: <input type="text" name="12/09__" size="19" value="X"><br />
    12/16: <input type="text" name="12/16__" size="19" value="X"><br />
    12/23: <input type="text" name="12/23__" size="19" value="X"><br />
    NYE:<span style="color:white">..</span>   <input type="text" name="NYE__" size="19" value="X"><br />
    </div>
    </div><br class="clear" /> 
    <div class="commentsection">
    Anything else you want to add?<br />
    <textarea name="comment" cols="50" rows="6"></textarea>
    <input type="button" value="SUBMIT" onclick="hgsubmit();" >
    <input type="hidden" name="redirect" value="http://www.standupexperts.com">
  </div>
</form>
</div>

【问题讨论】:

  • 哦,对不起。我认为这就是您要问的问题:
  • @AdamWhite 请编辑您的问题并添加它。
  • 你的类型属性错误,应该提交。
  • @raminomrani JavaScript 提交表单。拥有type="submit" 会发送两次表单,一次没有验证。
  • 简单,链接页面底部文本框的name为“comment”。在您发布的 JS 中,对评论字段进行了检查 - [ else if (/\S+/.test(document.hgmailer.comment.value) == false) alert ("Your email content is required.") ; ] 简单地注释掉这个检查。 :)

标签: javascript html forms textarea


【解决方案1】:
 else if (/\S+/.test(document.hgmailer.comment.value) == false)
   alert ("Your email content is needed.");

如果您从表单中删除文本区域,document.hgmailer.comment 将不再存在,因此其.value 会导致错误。所以,如果你想删除 textarea,你还必须从你的 JavaScript 中删除这个检查。

【讨论】:

  • else if (/\S+/.test(document.hgmailer.comment.value) == false) alert ("Your email content is required.");否则 { document.hgmailer.submit(); alert ('谢谢!\n您的电子邮件已发送。');要进行您所指的编辑,我是否只需要删除最后一条“else if”指令?删除所有这些:else if (/\S+/.test(document.hgmailer.comment.value) == false) alert ("Your email content is required."); [/END DELETE}
【解决方案2】:

formmail.pl 可能需要一个注释字段,否则提交将无法通过验证并被忽略。

现在理想情况下,您应该修改 formmail.pl 以使该评论字段成为可选字段。您还可以删除文本区域并将其替换为 &lt;input type="hidden" name="comment" value="" /&gt; 字段,每次提交时都会包含一个空的评论字段。

###有点跑题### 从表面上看,这个设置对我来说不是很安全。如果没有足够的安全性,这种形式最终可能会被垃圾邮件发送者滥用。主要问题是目标电子邮件地址是从垃圾邮件发送者可以轻松修改的隐藏变量发送的。主题和内容也来自形式。除非 formmail.pl 有一些反垃圾邮件措施,并且配置正确,否则最好添加安全性或使用不同的脚本。

没关系,我检查了一下,它只通过电子邮件发送本地地址,因此垃圾邮件的可能性很小。

【讨论】:

  • 感谢您的反馈。我有点不适应。你能推荐一个更好的方法来继续。我知道那里有表格邮件服务,但这不会被使用太多,以至于需要每月花费 9.95 美元。有一些可以使用的免费版本,但它们通常有字段限制。
  • 我编辑了我的评论以反映您当前脚本的状态 - 您无需担心任何垃圾邮件问题。
  • 已修复!当我删除那个“else if”命令时它起作用了。感谢大家的宝贵帮助。非常感谢。现在我需要开始自学 javascript。
【解决方案3】:

在上面的 html 中,如果您将提交按钮 &lt;input&gt; 从按钮更改为提交。它不会停止。也可以在 firebug 或 chrome 中尝试此操作 element inspector

改变

<input type="button" value="SUBMIT" onclick="hgsubmit();" >

<input type="submit" value="SUBMIT" onclick="hgsubmit();" >

还可以编辑 javascript 以防止两次服务器请求。让 html 标记来做这些事情。

【讨论】:

  • 你安装了 chrome 吗?
  • 我使用 Chrome,但我还没有尝试过 firebug。该脚本有效,但我希望 textarea 是可选的。我会试试元素检查器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多