当pdf消息为空时禁用按钮
本文关键字:按钮 pdf 消息 | 更新日期: 2023-09-27 18:03:15
当文本字段(PDF)为空时,我尝试禁用按钮。我试着这样做:
<div class="col-sm-offset-2 col-lg-6 col-md-8 col-sm-8">
<div id="hideButtonProduct">
<br /><br /> <a href="" disabled="@(mailModel.PdfMessage == null || mailModel.PdfMessage == string.Empty)" class="btn btn-success" id="btnGeneratePDF" name="btnGeneratePDF" formtarget="_blank" onclick="generatePdfPreview('GeneratePDFMailProductHandler'); return false;"> <i class="fa fa-fw fa-check"> </i> @Resources.Action.Navigation.PreviewPDF</a>
</div>
</div>
但是当按钮中没有文本时,按钮仍然是可选的。
谢谢
这是文本框:
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.EditorFor(model => mailModel.PdfMessage, new { htmlAttributes = new { @class = "form-control tiny-mce", @id = "GeneratePDFMailProductHandler", data_lang = System.Globalization.CultureInfo.CurrentUICulture.Name } })
@Html.ValidationMessageFor(model => mailModel.PdfMessage)
</div>
我试着这样做:
<script>
$(document).ready(function () {
$("#btnGeneratePDF").prop("disabled", "disabled");
$("#GeneratePDFMailProductHandler").on("keypress", function () {
if ($(this).val() != "") {
$("#btnGeneratePDF").prop("disabled", false);
} else {
$("#btnGeneratePDF").prop("disabled", "disabled");
}
});
});
</script>
The problem if I do it like this:
@if (Model.PdfMessage == null || Model.PdfMessage == string.Empty) {
<script>
$(document).ready(function () {
$("#btnGeneratePDFMailFormSubmitter").prop("disabled", "disabled");
$("#GeneratePDFMailFormSubmitter").on("keypress", function () {
if ($(this).val() != "") {
$("#btnGeneratePDFMailFormSubmitter").prop("disabled", false);
} else {
$("#btnGeneratePDFMailFormSubmitter").prop("disabled", "disabled");
}
});
});
</script>
}
按钮总是被禁用。即使
里面有文本这是我的完整视图:
@model SenecaFormsServer.Areas.Dashboard.Models.EditProductModel
@using SenecaFormsServer.Areas.Dashboard.Models
@using Seneca.SfsLib.Connectors
<div id="ConnectorSettings-MAIL_PRODUCT_HANDLERS">
<h4>@Resources.Entity.Product.SettingsForConnector: Mail product handlers</h4>
@{
MailProductHandlersModel mailModel = Model.ConnectorModels["MAIL_PRODUCT_HANDLERS"] as MailProductHandlersModel;
}
<div class="form-group">
@Html.Label(Resources.Entity.Product.Sender, new { @class = "text-bold control-label col-md-2" })
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.Editor("MailProductHandlers_sender", new { htmlAttributes = new { @class = "form-control", @Value = mailModel.Sender, @placeholder = Model.CustomerConfig.DefaultSenderAddress } })
</div>
</div>
<div class="form-group">
@Html.Label(Resources.Entity.Product.MailSubject, new { @class = "text-bold control-label col-md-2" })
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.Editor("MailProductHandlers_subject", new { htmlAttributes = new { @class = "form-control", @Value = mailModel.Subject } })
</div>
</div>
<!--
<div class="form-group">
@Html.Label("Reply to form submitter", new { @class = "text-bold control-label col-md-2" })
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.CheckBox("MailProductHandlers_replytoFormSubmitter", new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
-->
<div class="form-group">
@Html.Label(Resources.Entity.Product.MailMessage, new { @class = "text-bold control-label col-md-2" })
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.EditorFor(model => mailModel.Message, new { htmlAttributes = new { @class = "form-control tiny-mce", data_lang = System.Globalization.CultureInfo.CurrentUICulture.Name } })
@Html.ValidationMessageFor(model => mailModel.Message)
@*@Html.TextArea("MailProductHandlers_message", mailModel.Message, new { @class = "form-control", @rows = 15 })*@
</div>
</div>
<div class="form-group">
@Html.Label(Resources.Entity.Product.GeneratePDF, new { @class = "text-bold control-label col-md-2" })
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.Label(Resources.Entity.Product.GeneratePDFYes) @Html.RadioButtonFor(model => mailModel.IscheckedPDF,true, new {@class = "MAIL_PRODUCT_HANDLERS_AttachPdf" })
@Html.Label(Resources.Entity.Product.GeneratePDFNo) @Html.RadioButtonFor(model => mailModel.IscheckedPDF,false, new {@class = "MAIL_PRODUCT_HANDLERS_AttachPdf" })
</div>
</div>
<div class="form-group" id="MAIL_PRODUCT_HANDLERS_pdfeditor">
<div id="hideLableProduct">
@Html.Label(Resources.Entity.Product.PdfMessage, new { @id = "hideLable", @class = "text-bold control-label col-md-2" })
</div>
<div class="col-lg-6 col-md-8 col-sm-10 ">
@Html.EditorFor(model => mailModel.PdfMessage, new { htmlAttributes = new { @class = "form-control tiny-mce", @id = "GeneratePDFMailProductHandler", data_lang = System.Globalization.CultureInfo.CurrentUICulture.Name } })
@Html.ValidationMessageFor(model => mailModel.PdfMessage)
</div>
<div class="col-lg-6 col-md-8 col-sm-10 ">
</div>
@if (mailModel.PdfMessage == null || mailModel.PdfMessage == string.Empty) {
}
<div class="col-sm-offset-2 col-lg-6 col-md-8 col-sm-8">
<div id="hideButtonProduct">
<br /><br /> <a href="" class="btn btn-success" id="btnGeneratePDFMailProductHandler" name="btnGeneratePDF" formtarget="_blank" onclick="generatePdfPreview('GeneratePDFMailProductHandler'); return false;"> <i class="fa fa-fw fa-check"> </i> @Resources.Action.Navigation.PreviewPDF</a>
</div>
</div>
</div>
</div>
@if (!mailModel.IscheckedPDF) {
<script>
$(document).ready(function () {
$('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
});
</script>
}
<script>
$(document).ready(function () {
$("#btnGeneratePDFMailProductHandler").prop("disabled",true);
$("#GeneratePDFMailFormSubmitter").on("change",function () {
if ($(this).val() != '') {
$("#btnGeneratePDFMailProductHandler").prop("disabled", false);
} else {
$("#btnGeneratePDFMailProductHandler").prop("disabled", true);
}
});
});
</script>
奇怪的是,如果我保持文本字段空白并保存,然后如果你返回到文本字段按钮被禁用,但保持禁用,即使你把文本在里面。但是如果你在里面放一些文本然后保存并返回那么按钮就启用了
试试这个:
$(document).ready(function () {
$("#btnGeneratePDF").prop("disabled", true);
$("#GeneratePDFMailProductHandler").on("change", function () {
if ($(this).val() != "") {
$("#btnGeneratePDF").prop("disabled", false);
} else {
$("#btnGeneratePDF").prop("disabled",true);
}
});
});