1

入力フィールドの変更時に送信ボタンの表示を切り替えたい。

type="number"Firefoxでは HTML5 入力がサポートされていないため、ステッパー jQuery プラグインを使用します。

送信ボタンは最初は非表示になっており、ステッパーを含むフォーム フィールドに変更が加えられると送信ボタンが表示されるはずですが、数値を変更すると変更イベントがトリガーされません。

Chrome では、type="number"フィールドのデフォルト イベントは正常に機能します

ハムル

.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();
});
4

1 に答える 1

1

ブラウザを検出するのは最適ではありません。代わりに number のサポートを検出します

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();
      }
    });
  }
});
于 2013-05-04T05:06:38.527 に答える