在上传文件时,将按钮设置为文本挂起
本文关键字:设置 按钮 文本 挂起 文件 | 更新日期: 2023-09-27 17:49:52
我正在创建一个简单的mvc应用程序,其中用户上传文档并单击表单上的提交以上传文件。我试图将"上传"文本更改为"待定",而计算机正在将文档上传到数据库(需要五分钟)。
我有这样的东西:
<input type="submit" class="btn btn-primary btn-block" value="Upload" onclick="this.disabled = true; value = 'Pending';" />
将'Upload'按钮的文本更改为'Pending'。但是,如果用户在文件尚未提交时点击"上传"按钮,则"上传"按钮的文本仍然会更改为"Pending",即使计算机没有将文档上传到数据库。
是否有办法我可以做到这一点-与Javascript或其他东西?
你可以创建一个自定义的'button'
只是一个漂亮的div,并附加一个javascript函数到它的'onclick'事件。
接下来,在javascript函数中,你可以将该div的文本设置为"上载"和做一个
document.forms.yourFormName.submit();
和去掉你的输入按钮
或者将该按钮的可见性设置为"hidden"然后在javascript中使用jQuery找到按钮并执行
.toggle("click");
试试这样
onclick="this.disabled = true; this.value= 'Pending';"
虽然从服务器端更改文本这个文件上传后
如果你想检查文件是否有文件
onclick="if($('#fileupload').val()!=''){this.disabled = true; this.value= 'Pending';}else{$('#fileupload').focus();}"
使用jQuery:
$("form").submit(function() {
$('input[type="submit"]').attr('disabled', 'true').val('Pending');
});
或者你可以这样做:
$('input'[type="submit"]').click(function(e){
if ($('#upload').val != "") //if the input isn't empty (assuming id is called #upload)
{
$('input[type="submit"]').attr('disabled', 'true').val('Pending');
$('form').submit();
}
e.preventDefault();
});
所以提交按钮只在表单被提交时才会被禁用,而不是在按钮被点击时才会改变值