我有以下幾點:禁用提交按鈕,如果jqBootstrapValidation輸入是無效的( 'hasErrors')
HTML
<form class="form-horizontal" role="form" id="Validation" method="post" action="form.php">
<input class="form-control" type="text" name="hn" id="hostname" data-validation-regex-message="Please enter a valid hostname" data-validation-regex-regex="^((\*\.([a-zA-Z0-9]+-)*[a-zA-Z0-9]+\.)|(([a-zA-Z0-9]+-)*[a-zA-Z0-9]+\.)+)[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?$" required>
<input id="submit" class="btn btn-info" type="submit" name="submit" value="Submit" />
<input class="btn btn-default" type="reset" value="Clear" />
</form>
JS/jQuery的
$(document).ready(function(){
if ($('input[type=text]').jqBootstrapValidation('hasErrors')) {
$('.btn').attr('disabled', true);
}
else
$('.btn').attr('disabled', false);
});
使用jqBootstrapValidation,如果文本輸入字段包含無效的h,我試圖禁用提交按鈕ostname格式。
但它似乎沒有工作。任何人都可以指出爲什麼或/和我做錯了什麼?
UPDATE: 找到一種方法來禁用提交功能(不是按鈕):
望着SubmitError
回調(http://reactiveraven.github.io/jqBootstrapValidation/#configuration_options_submiterror)。
這可以防止形式被提交如果輸入字段無效:
$('#hostname').jqBootstrapValidation(
{
submitFail: function ($form, errors) {
$('input[type=submit]').attr('disabled','disabled');
},
submitSuccess: function ($form, errors) {
$('input[type=submit]').removeAttr('disabled');
}
}
);
但它仍然沒有真正禁用提交按鈕本身。
什麼是您的正則表達式測試? – Tomanow
@Tomanow正則表達式正在測試FQDN,包括通配符*。格式化的。儘管如此,我不認爲這是100%完全證明。 –