【问题标题】:Problem after adding <form>?添加 <form> 后出现问题?
【发布时间】:2010-04-20 22:44:25
【问题描述】:

当我将&lt;form&gt; 添加到我的网页时,我的所有 javascript 都停止工作,当我将表单放在表格开头时,提交将无法正常工作,这是我做错了什么。下面是我在其他浏览器上测试后的代码,它工作正常,但在 Firefox 上却没有

更新:检查 firefox java 错误控制台后,似乎定义了 Checking 函数

更新 2:解决了我的错误是 &lt;script type="text/jscript"&gt; 是错误的,这就是为什么在 Firefox 上它不起作用,而在其余部分它是,它必须是 &lt;script type="text/javascript"&gt;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sabay Afrah.Inc | Contact Us</title>
<script src="js/clear.js" language="javascript" type="text/javascript"></script>
<script src="js/SpryValidationSelect.js" type="text/javascript"></script>
<script type="text/jscript">

function Checking(form){

if(empty(form.fname.value){

         alert("do nothing");

         }
}

</script>

<style type="text/css">
<!--
body {
    background-color: #000;
}
body,td,th {
    color: #FFF;
    font-size: 14px;
}
.address {
    font-family: "Comic Sans MS", cursive;
    font-weight: bold;
}
-->
</style>
<link href="theme/style.css" rel="stylesheet" type="text/css" />
<link href="theme/SpryValidationSelect.css" rel="stylesheet" type="text/css" />
</head>

<body>
<form  action="enterdb.php" method="post">
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">&nbsp;</td>
  </tr>
  <tr>
    <td><table width="1006" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="4">&nbsp;</td>
        <td width="93" align="right">&nbsp;</td>
        <td width="4">&nbsp;</td>
        <td width="374" ><img src="images/logo.png" width="230" height="114" /></td>
        <td width="426" align="right" class="address">
        10 GlenLake parkway<br />
Suite 130, mailbox # 76<br />
Atlanta, GA 30328<br />
Phone #: + 678-222-3442<br />
Fax #: +678-222-3401<br />
Office hours: M-F 8:30 a.m. to 5:00 p.m.<br />
        </td>
        <td width="99">&nbsp;</td>
      </tr>
      <tr>
        <td colspan="5"><table width="600" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            <td class="title">&nbsp;</td>
          </tr>
          <tr>
            <td width="84"><br /></td>
            <td width="516" class="title">Contact Us</td>
          </tr>
        </table></td>
        <td>&nbsp;</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>

    <table width="883" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr class="table">
        <td width="27" rowspan="10" bgcolor="#330099" class="textable">&nbsp;</td>
        <td colspan="2" bgcolor="#330099" class="textable">&nbsp;</td>
        <td width="29" rowspan="8" bgcolor="#330099" class="textable">&nbsp;</td>
        <td colspan="3" class="textable">&nbsp;</td>
        </tr>
      <tr >
        <td width="139" height="31" bgcolor="#330099" class="textable">First Name:</td> <td>

         <input id="fname" name="fname" type="text" size="40" /> </td>
        <td width="150" class="textable">Last Name:</td>
        <td width="265" class="textable"><table width="200" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td ><table width="200" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td ><input id="lname" name="lname" type="text" size="40"  /></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
        <td width="32" class="textable">&nbsp;</td>
      </tr>
      <tr>
        <td height="30" class="textable">Subject:</td> <td>
          <span id="spryselect1">
            <label>
              <select name="sub" id="sub">
              <option> Choose a Subject</option>
              <option> General Question</option>
              <option> MemberShip Area</option>
              <option> Others</option>

              </select>
            </label>
            <span class="selectRequiredMsg">Please select a Subject.</span></span>
        </td>
        <td colspan="3" class="textable">&nbsp;</td>
        </tr>
      <tr>
        <td height="33" class="textable">Company Name:</td> <td> <input id="cname" name="cname" type="text" size="40"   /></td>
        <td class="textable">Company Address:</td>
        <td class="textable"><table width="200" border="0" cellspacing="0" cellpadding="0">

          <tr>
           <td><input id="cadd" name="cadd" type="text" size="40" onclick=""  /></td>
          </tr>

        </table></td>

        <td class="textable">&nbsp;</td>
      </tr>
      <tr>
        <td height="31" class="textable">Phone Number:</td> <td><input id="phonen" name="phonen" type="text" size="40"  /> </td>
        <td colspan="3" rowspan="4" class="textable">&nbsp;</td>
        </tr>
      <tr>
        <td height="31" class="textable">Fax Number:</td><td> <input id="faxn" name="faxn" type="text" size="40" /></td>
        </tr>
      <tr>
        <td height="32" class="textable">Email Address:</td><td><input id="email" name="email" type="text" size="40" /></td>
        </tr>
      <tr>
        <td colspan="2" class="textable">&nbsp;</td>
        </tr>
      <tr>
        <td valign="top" class="textable">Additional Information:</td>
        <td colspan="5" class="textable"><table width="600" border="0" align="left" cellpadding="0" cellspacing="0">
          <tr>
            <td colspan="2" align="center">

            <textarea id="add" name="add" cols="70" rows="10" /></textarea>
            </td>
            </tr>
          <tr>
            <td align="center" class="textable">
              <input name="Submit" type="submit"  value="Submit" onclick="Checking()"/>
            </td>
            <td align="center" class="textable">

            <input type="reset"  value="Clear" />



            </td>
          </tr>
        </table></td>
        </tr>
      <tr>
        <td colspan="6" class="textable">&nbsp;</td>
        </tr>
    </table></td>
  </tr>
</table>
</form>
<script type="text/javascript">
<!--
var spryselect1 = new Spry.Widget.ValidationSelect("spryselect1");
//-->
</script>
</body>
</html>

【问题讨论】:

  • 说“我的所有 javascript 都停止了”并不是很有帮助...也许“我的表单验证停止”可以更好地说明您的问题。
  • 嘿,你知道我为什么这么说,因为当我插入 form 时,SpryValidationSelect.js 停止工作@ 这个脚本不允许绕过而不从选项中选择一些东西

标签: php javascript html forms


【解决方案1】:

您的函数想要接收表单元素,而您的提交按钮不会向该函数发送任何内容。我假设它没有提交,因为您的函数出错并因此停止按钮,就好像它返回错误一样。修复您的 JavaScript,尝试使用 Firebug 来帮助您找到这些问题。

【讨论】:

  • 我经常解决这个问题的方法是使用 firebug 并通过我的 onsubmit 函数进行跟踪
  • 你太棒了,但它一直在崩溃,运行配置文件后没有显示任何错误
【解决方案2】:

尝试在表单标签中添加 onsubmit:

<form  action="enterdb.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return Checking(this);">

然后从提交按钮中移除 onclick 事件。

您需要将表单对象传递给 Checking 函数,因此需要 this。此外,通常最好将处理程序放在表单标记中,因为当用户通过单击提交按钮或在表单中的其他位置按 Enter 提交表单时会调用它。

根据 webdestroya 编辑。

【讨论】:

  • 嘿,不,还没有检查,它绕过脚本并继续提交
  • 应该是onsubmit="return Checking(this)"
  • 我使用 IE 检查了页面,它就像一个魅力但是当我通过 FF 检查它时它不起作用
【解决方案3】:

一般情况下,建议您先注释掉 clear.js 和 SpryValidationSelect.js,然后尝试通过添加一个 javascript 文件来运行您的代码,以明确定义与您的内联代码文本崩溃的文件是什么。

也尝试为您的表单添加名称并尝试如下:

function Checking(form){

  if(empty(window.myform.fname.value){

         alert("do nothing");

         }
  }

以某种方式调试某些东西,最好尝试不同的方法,有时您会发现并不容易。

只是我的想法。好运

【讨论】:

    猜你喜欢
    • 2014-07-21
    • 2022-06-17
    • 2022-11-22
    • 2014-10-25
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2021-04-21
    相关资源
    最近更新 更多