有人能指出我正确的方向吗?我对此很新,所以我不确定这里发生了什么。这似乎很简单,但由于某种原因不起作用。
我有一个(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();
});
});
答案 0 :(得分:0)
您需要先测试 提交表单。看看here。
答案 1 :(得分:0)
检查第四行。
$( '#file1Error')隐藏();
答案 2 :(得分:0)
$('#Submit').click(function()
{
('#file1Error').hide();
var file = $('#file1').val();
if (file == "")
{
$('#file1Error').show();
return false;
}
return true;
//or $('#frm1').submit();
});