表格在显示某些字段时不会提交

时间:2015-08-04 13:54:20

标签: javascript jquery html forms

我正在尝试创建一个下拉菜单,允许用户选择他们想要登录的区域。目前,下拉功能可以工作并隐藏用户未登录的任何区域,并仅显示他们选择的区域。仅使用没有下拉列表的表单可以很好地打开一个新窗口,同时还将用户登录到系统中。 但是,当我添加下拉菜单并将表单包围在标签中时,它允许我输入数据但不处理数据。

如果可能,我还想让表单在当前浏览器窗口中打开一个新选项卡(而不是在一个全新的窗口中)。

- 我不能改变形式,除了那些不重要的东西,因为它们是从外部来源给我的。

这是我的代码:



$(document).ready(function() {
  toggleFields(); //call this first so we start out with the correct visibility depending on the selected form values
  //this will call our toggleFields function every time the selection value of our repository field changes
  $("#member").change(function() {
    toggleFields();
  });

});
//this toggles the visibility of the 3 different forms depending on which repository the user is logging into.
function toggleFields() {
  if ($("#member").val() == 1)
    $("#depo").show();
  else
    $("#depo").hide();
  if ($("#member").val() == 2)
    $("#records").show();
  else
    $("#records").hide();
  if ($("#member").val() == 3)
    $("#reporter").show();
  else
    $("#reporter").hide();
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id="member" name="member">
  <option value="0">---</option>
  <option value="1">Deposition Repository</option>
  <option value="2">Records Repository</option>
  <option value="3">Reporter Area</option>
</select>

<div id="depo">
  <p>Login to Access your Deposition Repository</p>
  <p>
    <script type="text/javascript" src="http://clients.texasdepos.com/rbweb/library/js/W0_0000_PTA.js"></script>
    <form name="frmrbwebattorney" method="post" action="http://clients.texasdepos.com/rbweb/attorney/WC_00LG_PTA.asp">
      User ID:
      <input type="text" name="rbwebuserid" style="width:130px;" value="" maxlength=30>Password:
      <input type="password" name="rbwebpassword" style="width:130px;" value="" maxlength=65 onkeypress="javascript:if(event.keyCode ==13) login(document.frmrbwebattorney,1);">
      <INPUT type="button" value="Log In" style="font-size:11px;" style="width:64px" onclick="javascript:login(document.frmrbwebattorney,1);" id=btnptarbweb name=btnptarbweb>
      <INPUT type="hidden" name="appname" value="">
      <INPUT type="hidden" name="os" value="">
    </form>
  </p>
</div>

<div id="records">
  <p>Login to Access your Records Repository.</p>
  <p>
    <script type="text/javascript" src="http://clients.texasdepos.com/mrweb8/library/js/W0_0000_PTA.js"></script>
    <form name="frmrbwebattorney" method="post" action="http://clients.texasdepos.com/mrweb8/WC_00LG_PTA.asp">
      User ID:
      <input type="text" name="rbwebuserid" style="width:130px;" value="" maxlength=16>Password:
      <input type="password" name="rbwebpassword" style="width:130px;" value="" maxlength=65 onkeypress="javascript:if(event.keyCode ==13) login(document.frmrbwebattorney,1);">
      <INPUT type="button" value="Log In" style="font-size:11px;" style="width:64px" onclick="javascript:login(document.frmrbwebattorney,1);" id=btnptarbweb name=btnptarbweb>
      <INPUT type="hidden" name="appname" value="">
      <INPUT type="hidden" name="os" value="">
    </form>
  </p>
</div>

<div id="reporter">
  <p>Login to the Reporter Area.</p>
  <p>
    <script type="text/javascript" src="http://clients.texasdepos.com/rbweb/library/js/W0_0000_PTA.js"></script>
    <form name="frmrbwebreporter" method="post" action="http://clients.texasdepos.com/rbweb/reporter/WR_00LG_PTA.asp">
      User ID:
      <input type="text" name="rbwebuserid" style="width:130px;" value="" maxlength=16>Password:
      <input type="password" name="rbwebpassword" style="width:130px;" value="" maxlength=65 onkeypress="javascript:if(event.keyCode ==13) login(document.frmrbwebreporter,1);">
      <INPUT type="button" value="Log In" style="font-size:11px;" style="width:64px" onclick="javascript:login(document.frmrbwebreporter,1);" id=btnptarbweb name=btnptarbweb>
      <INPUT type="hidden" name="appname" value="">
      <INPUT type="hidden" name="os" value="">
    </form>
  </p>
</div>
&#13;
&#13;
&#13;

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

您的代码存在一些问题,每个问题都可能导致此类问题。

您有重复的名称和ID是您的主要问题。即您有3个名为frmrbwebattorney的表单,所有提交按钮都是ID btnptarbweb。当您致电document.frmrbwebattorney时,可能会收到错误的表单。

简单解决方案:将<input type="button" ...>替换为<input type="submit" ...>,然后从中删除onclick。因此,您的按钮将如下所示:

<input type="button"
       value="Log In" 
       style="font-size:11px; width:64px"
       id="something-unique"
       name="btnptarbweb" />

另请注意:您不能拥有多个样式属性。我将它们合并为一个。

答案 1 :(得分:0)

而不是使用javascript代码的onclick属性更改要提交的按钮类型。这将有效。