简体   繁体   English

如果复选框已选中且文本框为空白

[英]If checkbox checked and textbox blank

I have a checkbox, on click of which the textbox gets enabled. 我有一个复选框,单击该复选框将启用文本框。 I want to make validation that If checkbox is checked and the user doesn't put any data. 我想验证是否选中了“如果”复选框,并且用户未放置任何数据。 It should not allow the user to submit the form. 它不应允许用户提交表单。 Please see the javascript code for your reference 请参阅javascript代码以供参考

Javascript : Javascript:

<script type="text/javascript">
$(document).ready(function () {
    $('#chkCropLoan').change(function () {
        $("#txtAmount").prop("disabled", !$(this).is(':checked'));
        if (!$(this).is(':checked')) {
            $("#txtAmount").val("");
        }
    });
    $('#chkInvestmentLoan').change(function () {
        $("#txtInvestmentLoan").prop("disabled", !$(this).is(':checked'));
        if (!$(this).is(':checked')) {
            $("#txtInvestmentLoan").val("");
        }
    });
    $('#chkWarehouseReceipt').change(function () {
        $("#txtWarehouseReceipt").prop("disabled", !$(this).is(':checked'));
        if (!$(this).is(':checked')) {
            $("#txtWarehouseReceipt").val("");
        }
    });
    $('#chkFarmerProd').change(function () {
        $("#txtFarmerProd").prop("disabled", !$(this).is(':checked'));
        if (!$(this).is(':checked')) {
            $("#txtFarmerProd").val("");
        }
    });
});
</script>

HTML code of textbox : 文本框的HTML代码:

<table>
    <tr>
        <td>Crop Loan</td>
        <td>
            <asp:CheckBox ID="chkCropLoan" runat="server" CssClass="check" onclick="javascript:enableTextBox();" />
            <asp:TextBox ID="txtAmount" runat="server" class="txtfld-popup1" MaxLength="5" Width="100" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
            <cc1:TextBoxWatermarkExtender ID="txtAmount_TextBoxWatermarkExtender" runat="server" TargetControlID="txtAmount" WatermarkText="Amount"></cc1:TextBoxWatermarkExtender>
            <asp:RegularExpressionValidator ID="rgfldvalidator" ControlToValidate="txtAmount"
                runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*\.?[0-9]+$"></asp:RegularExpressionValidator>
        </td>
    </tr>

    <tr>
        <td>Investment Loan</td>
        <td>

            <asp:CheckBox ID="chkInvestmentLoan" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
            <asp:TextBox ID="txtInvestmentLoan" runat="server" class="txtfld-popup1" MaxLength="5" width="100" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
            <cc1:TextBoxWatermarkExtender ID="txtInvestmentLoan_TextBoxWatermarkExtender" runat="server" TargetControlID="txtInvestmentLoan" WatermarkText="Amount"></cc1:TextBoxWatermarkExtender>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator3" ControlToValidate="txtInvestmentLoan"
                runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*\.?[0-9]+$"></asp:RegularExpressionValidator>
        </td>
    </tr>

    </tr>
    <tr>
        <td>Warehouse Receipt Finance</td>
        <td>

            <asp:CheckBox ID="chkWarehouseReceipt" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
             <asp:TextBox ID="txtWarehouseReceipt" runat="server" class="txtfld-popup1" MaxLength="5" Width="100" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
            <cc1:TextBoxWatermarkExtender ID="txtWarehouseReceipt_TextBoxWatermarkExtender" runat="server" TargetControlID="txtWarehouseReceipt" WatermarkText="Amount"></cc1:TextBoxWatermarkExtender>
        </td>
    </tr>

    <tr>
        <td>Farmer Producer Companies</td>
        <td>

            <asp:CheckBox ID="chkFarmerProd" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
            <asp:TextBox ID="txtFarmerProd" runat="server" class="txtfld-popup1" MaxLength="5" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Width="100" Enabled="false"></asp:TextBox>
            <cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender11" runat="server" TargetControlID="txtFarmerProd" WatermarkText="Amount"></cc1:TextBoxWatermarkExtender>
        </td>
    </tr>
</table>

Try: 尝试:

$("#your-form").submit(function() {
   if($(this).find("#your-text").val() && $(this).find("#your-check").checked){
      $("#your-form").submit();
   }
   else{
      // not checked or empty textbox
   }
   return false;
});

Try using the below code: 尝试使用以下代码:

$('#your_form_name').submit(function( event ) {
        if ($('#chkCropLoan').is(':checked') && $('#txtAmount').val() == '') {
            alert('error message');
            event.preventDefault();
        }
});

you don't want to submit form if Text box is Empty 如果文本框为空,则您不想提交表单

just write function on submit button click event 只需在提交按钮单击事件上编写功能

<input type="submit" value="save" onclick="return checkvalid()" />

In script 在脚本中

<script type="text/javascript">
    function checkvalid() {


        if (document.getElementById('textboxId').value==""
             || document.getElementById('textboxId').value==undefined) {

            return false;
        }

</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM