Javascript textarea是必填字段吗?

Javascript textarea是必填字段吗?,javascript,html,forms,textarea,Javascript,Html,Forms,Textarea,我正在构建一个大型表单,用于编辑我们客户(喜剧演员)的巡演时间表 每当我删除底部较大的文本区域时,表单就会停止工作,即submit按钮什么也不做 有人知道为什么会这样吗?谢谢 我不知道什么会有帮助,但下面是包含表单的div的代码: <div class="info-avails"> <form action="http://www.standupexperts.com/cgi-sys/formmail.pl" method="post" name="hgmail

我正在构建一个大型表单,用于编辑我们客户(喜剧演员)的巡演时间表

每当我删除底部较大的文本区域时,表单就会停止工作,即submit按钮什么也不做

有人知道为什么会这样吗?谢谢

我不知道什么会有帮助,但下面是包含表单的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>

姓名:X-
X.XEmail:
单元格#:X。 地址:X
网站: 视频链接:

我们的有效方法 如果您不能使用下面的表格,您可以。如果您希望尽快输入您的可用信息,请使用我们的标记系统。 我们的2013年可用表。

出于路由目的,我们想知道您不可用的日期以及您在这些日期的状态

下面,X已放置在开放/可用周。对于预订日期,请输入预订天数和状态。 示例:
  • 12-3:X(开放式)
  • 12-10:X 11-14常闭(常闭,12月10日至14日除外)
  • 12-17:19 OH,22 IN(开放,12月19日OH和22日IN除外)
  • 我们无法仅在一周中的某一天工作(3/11:周四太阳)

1/14:
1/21:
1/28:
2004年2月:
2/11:
2/18:
2/25:
2004年3月:
2011年3月:
3/18:
3/25:
4/01:
2008年4月:
4/15:
4/22:
4/29:
2006年5月:
5/13:
5/20:
5/27:
2003年6月:
6/10:
6月17日:
6/24:
7/01:
7/08:
7/15:
7月22日:
7月29日:
2005年8月:
8/12:
8月19日:
8月26日:
9/02:
09年9月:
9月16日:
9月23日:
9月30日:
2007年10月:
2014年10月:
10月21日:
10/28:
2004年11月:
11月11日:
11/18:
11月25日:
2002年12月:
2009年12月:
12/16:
12月23日:
奈:


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

formmail.pl可能需要一个注释字段,如果没有该字段,提交将无法通过验证并被忽略

现在,理想情况下,您可以修改formmail.pl,使此注释字段成为可选字段。您还可以删除文本区域并将其替换为
字段,该字段将在每次提交时包含一个空的注释字段

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


没关系,我检查了一下,它只发送本地地址,所以垃圾邮件的可能性很小。

在上面的html中,如果你将提交按钮
从按钮更改为提交。它不会停止。也可以在
firebug
或chrome
元素检查器中尝试

改变

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



还要编辑javascript以防止两次服务器请求。让html标记完成这项工作。

哦,对不起。我想这就是你要问的:函数hgsubmit(){if(/\S++/.test(document.hgmailer.name.value)=false)警报(“请提供你的名字”);else if(/^\S++[a-z0-9.-]+\[a-z]{2,6}$/I.test(document.hgmailer.email.value)==false)警报(“需要有效的电子邮件地址”);else if(/\S++.test(document.hgmailer.comment.value)==false)警报(“需要您的电子邮件内容”);else{document.hgmailer.submit();警报(“谢谢您!\n您的电子邮件已发送”);}}@AdamWhite请编辑您的问题并添加它。您的type属性错误。它应该是submit。@raminomrani JavaScript提交表单。拥有
type=“submit”
将发送两次表单,一次未经验证。很简单,链接页面底部的文本框名称为“comment”。在您发布的JS中,在注释字段上有一个检查-[如果(/\S+/.test(document.hgmailer.comment.value)==false)警报(“需要您的电子邮件内容”);]只需注释掉此检查即可。:)谢谢你的反馈。我有点不知所措。你能推荐一个更好的方法吗。我知道那里有表单邮件服务,但这不会被使用太多,因此它需要花费9.95美元/月。有些表单的免费版本可以工作,但它们通常有字段限制。我编辑了我的评论以反映您当前脚本的状态-您不必担心任何垃圾邮件问题。修复!当我删除“elseif”命令时,它起作用了。谢谢你们所有人的宝贵帮助。非常感谢。现在我需要开始自学javascript.else如果(/\S+/.test(document.hgmailer.comment.value)==false)警报(“需要您的电子邮件内容”);else{document.hgmailer.submit();alert('Thank you!\n您的电子邮件已发送');}}要进行您所指的编辑,请
<input type="button" value="SUBMIT" onclick="hgsubmit();" >
<input type="submit" value="SUBMIT" onclick="hgsubmit();" >