选中复选框,下载文件并提交

时间:2015-09-18 12:39:29

标签: javascript jquery html checkbox

我有一个复选框 JSFIDDLE 当其中一个复选框上的useR勾选时,它会打开一个新窗口,使用户可以在单击复选框按钮后查看下载PDF。我希望禁用下载功能,因此当用户再次勾选复选框按钮时,它会激活提交按钮。可以这样做吗?

var checkboxes = $("input[type='checkbox']"),
submitButt = $("input[type='submit']");

checkboxes.click(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});

  checkboxes.click(function(e) {
    e.preventDefault (); 
    window.open('{site_url}downloads/resellers/Standard_Terms_and_Conditions.pdf');

    checkboxes[0].click();
        submitButt.attr("disabled", !checkboxes.is(":checked"));
});

1 个答案:

答案 0 :(得分:0)

像这样(请注意,出于安全原因,window.open在此代码段中不起作用)

function enableSub(submitButt ) {
  submitButt.prop("disabled",$("input[type='checkbox']:checked").length==0);    
}
$(function() {
  var checkboxes = $("input[type='checkbox']"),submitButt = $("input[type='submit']");
  enableSub(submitButt );
  checkboxes.on("click",function() {
    enableSub(submitButt );
    if (this.checked) window.open('{site_url}downloads/resellers/Standard_Terms_and_Conditions.pdf');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h1>Button should be enabled if at least one checkbox is checked</h1>

<form>
    <div>
        <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
    </div>
    <div>
        <input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 2</label>
    </div>
    <div>
        <input type="checkbox" name="option-3" id="option-3"> <label for="option-3">Option 3</label>
    </div>
    <div>
        <input type="checkbox" name="option-4" id="option-4"> <label for="option-4">Option 4</label>
    </div>
    <div>
        <input type="checkbox" name="option-5" id="option-5"> <label for="option-5">Option 5</label>
    </div>
    
    <div>
        <input type="submit" value="Do thing" disabled>
    </div>
</form>