Javascript 未捕获类型错误:无法读取属性';元素';提交表单时未定义的属性

Javascript 未捕获类型错误:无法读取属性';元素';提交表单时未定义的属性,javascript,html,Javascript,Html,我有一个使用PHP的HTMLdiv输出,当点击“提交”时,它应该提交表单并启动JS函数。提交时,Chrome中的JS控制台显示以下错误: 未捕获的TypeError:无法读取未定义的属性“element” 我的HTML(包装在PHP代码中) 此案例以前已由工作簿支持部门关闭。您可以随时重新打开此票证,方法是提供您希望这样做的原因并单击“重新打开案例”。 总结: 重审案件 我的Javascript: <script type="text/javascript"> funct

我有一个使用PHP的HTMLdiv输出,当点击“提交”时,它应该提交表单并启动JS函数。提交时,Chrome中的JS控制台显示以下错误:

未捕获的TypeError:无法读取未定义的属性“element”

我的HTML(包装在PHP代码中)


此案例以前已由工作簿支持部门关闭。您可以随时重新打开此票证,方法是提供您希望这样做的原因并单击“重新打开案例”。
总结:
重审案件

我的Javascript:

<script type="text/javascript">
    function on_reopen_case() {
      if (!$("#reopen_case_form").valid()){ return false; }
      $('#reopen_case').attr('disabled', 'disabled');
      $('#reopen_case').text('Re-opening case. Please wait...');
      document.body.style.cursor = "progress";
      $("#function").val("reopen_case");
      fade();
      $("#reopen_case_form").submit();
    };
  </script>

函数关于_重新打开_案例(){
if(!$(“#重新打开_案例_表单”).valid(){return false;}
$('重新打开'案例').attr('禁用','禁用');
$(“#重新打开案例”).text('重新打开案例,请稍候…);
document.body.style.cursor=“进度”;
$(“#函数”).val(“重新打开#案例”);
褪色();
$(“#重新打开案例表格”).submit();
};
表单显示为提交,但不会将按钮文本更改为“重新打开案例”,也不会将#函数设置为指定值

令人恼火的是,我在其他地方也使用了类似的方法,这一点很有效:

<div id="tab3" class="tab">
     <div id="update_case_form">
        Provide a summary and detailed description of your update below, including screenshots where applicable. Click "Update Case" to submit your update to the Workbooks Support team.
      <table class="update_case">
         <tr><td style="padding: 10px">Summary:<input id="name" name="name" type="text" size="80" maxlength="255" class="required"/></td></tr>
         <tr><td><textarea id="description" name="description" cols="255" rows="50"></textarea></td></tr>
         <tr>
          <td colspan="2" style="padding-top: 10px;">
            <input type="file" class="file" name="file1" id="file1" style="display: inline">
            <input type="file" class="file" name="file2" id="file2" style="display: inline">
            <input type="file" class="file" name="file3" id="file3" style="display: inline">
          </td></tr>
      </table>
      <p><button type="submit" onclick="on_create_activity()" style="float:left; margin-top: 10px; margin-bottom: 10px;" value="create_activity" id="create_activity" name="create_activity" class="quietbutton">Update Case</button></p>
     </div>
  </div>

在下面提供更新的摘要和详细说明,包括适用的屏幕截图。单击“更新案例”将更新提交给工作簿支持团队。
总结:
更新案例

Javascript

 <script type="text/javascript">
    function on_create_activity() {
      if (!$("#update_case_form").valid()){ return false; }
      $('#create_activity').attr('disabled', 'disabled');
      $('#create_activity').text('Updating case. Please wait...');
      document.body.style.cursor = "progress";
      $("#function").val("create_activity");
      fade();
      $("#update_case_form").submit();
    };
  </script>

_创建_活动()上的函数{
if(!$(“#更新_案例_表单”).valid(){return false;}
$('create#u activity').attr('disabled','disabled');
$('create#u activity').text('updateing case.Please wait…');
document.body.style.cursor=“进度”;
$(“#函数”).val(“创建#u活动”);
褪色();
$(“更新案例表格”).submit();
};
我一辈子都搞不清楚我到底错在哪里!救命啊……

我想我可能已经弄明白了。。。我使用的是嵌套表单,这显然是不允许的


谢谢大家的建议:)

您的
表单在哪里?
?正如@mariocatch所说,您需要使用
元素来使用
submit()
事件。将您的
更改为
刚刚尝试了这么快,我现在收到了一条类似的消息:uncaughtypeerror:无法读取未定义的属性“form”?您在php中创建了循环中的
?是否可能在同一html文档中有
n
个数的
?我正在屏幕底部创建选项卡,其中一个选项卡内容是通过PHP foreach循环生成的。但它没有提交按钮。重新打开案例表单的引用只存在一次。。。
 <script type="text/javascript">
    function on_create_activity() {
      if (!$("#update_case_form").valid()){ return false; }
      $('#create_activity').attr('disabled', 'disabled');
      $('#create_activity').text('Updating case. Please wait...');
      document.body.style.cursor = "progress";
      $("#function").val("create_activity");
      fade();
      $("#update_case_form").submit();
    };
  </script>