我希望在更改输入字段时切换提交按钮的可见性。
由于firefox不支持HTML5输入type="number"
,因此我使用stepper jQuery plugin。
最初隐藏提交按钮,当对包括步进器在内的任何表单字段进行更改时,应显示提交按钮,但是当我更改数字时,不会触发更改事件。
在Chrome中,type="number"
字段的默认事件正常
HAML
.form-actions.hide{
:style => 'border-top: none;
border-bottom: solid 1px;
border-bottom-color: #08C;'
}
%button#submit{
:type => "submit",
:class => 'btn btn-primary',
:style => 'margin-top: -28px;'
} Submit
的JavaScript
if(BrowserDetect.browser == "Firefox"){
$('#count').stepper();
}
$('#manage form input[type!=submit], select').change(function() {
$('#manage form .form-actions').show();
});
答案 0 :(得分:1)
检测浏览器不是最佳选择。而是检测对数字的支持
function hasNumber() {
var inp = document.createElement("input");
inp.setAttribute("type", "number");
return inp.type !== "text";
}
然后根据您需要的文档
function changeField() {
$('#manage form .form-actions').show();
}
$(function() {
if (!hasNumber()) {
$('#manage form input[type!=submit], select').change(changeField);
$('#count').stepper({
onStep: function( val, up ) {
changeField();
}
});
}
});