0

有人可以指出我正确的方向吗?我对此很陌生,所以我不确定这里发生了什么。这似乎很简单,但由于某种原因不起作用。

我有一个(Telerik)模态弹出窗口,其中包含一个带有多个输入字段的表单,其中大多数使用 html 帮助器进行输入。我对那些工作的领域进行了验证。该表单还具有文件上传功能。这就是我要验证的。

现在,我只想验证用户是否选择了一个文件。如果他们提交表单而不上传文件,他们应该在窗口关闭之前收到一条消息。

这是我的输入

<input type="file" name="file1" id="file1" /><br />
<label for="file1" id="file1Error">Please choose a file</label>

这是最初隐藏错误消息的 jquery,检查文件是否存在,如果不存在则显示错误

$('#Submit')
  .click(function()
  {
   ('#file1Error').hide();
   var file = $('#file1').val();
   if (! file)
  {
  $('#file1Error').show();
  return;
  }
  }); 

我觉得代码没有被触及。我试过把它放在几个地方:在页面上现有的 Telerik 脚本注册器中(加载模式窗口的 javascript 所在的位置),在它自己的脚本注册器中,将它嵌套在加载脚本的 .open() 中。

有人可以给我一个正确的方向来解决这个问题吗?

编辑:暂时改变我的要求范围。我只想在单击提交按钮时显示错误消息。(我可以稍后添加验证)。那么为什么这不起作用:

    //initially hide the message--this works fine

 $(function()
   {
      $('#file1Error').hide();

 //display the message on submit click--this does not work
   $('#Submit').click(function()
   {
      $('#file1Error').show();
   });
}); 
4

3 回答 3

0

您需要在提交表单之前对其进行测试。看看这里

于 2012-05-18T16:10:35.187 回答
0
$('#Submit').click(function()
  {
   ('#file1Error').hide();
   var file = $('#file1').val();
   if (file == "")
  {
  $('#file1Error').show();
  return false;
  }
return true; 
//or $('#frm1').submit();
  }); 
于 2012-05-18T16:46:06.163 回答
0

检查第四行。
$('#file1Error').hide();

于 2012-05-18T16:12:51.170 回答