アフィリエイト広告を利用しています

2020年07月16日

IEだけ動作が異なる

普通のラジオボタン。

<input id="button0" onclick="participant()" value="A" type="radio" name="choice">
<input id="button1" onclick="participant()" value="B" type="radio" name="choice">

Java scriptのparticipant()関数でvchoiceの値によって処理を分岐していた。


function participant() {
 var vchoice = document.form1.choice.value;
 if (vchoice=="A") {

 } else {

 }
 ・
 ・
}


ChromeとEdgeでは動作するが、IEでは動作しないことに気付いた。

最初のボタン(Virtual)をクリックしても else の処理が実行されてしまう。

調べると、IEではvchoiceがオブジェクトとして認識されているため、

if vchoice=="A" が成り立たない。

document.form1.choice.value はやめて、以下のようにした、


 var vchoice = document.getElementsByName("choice");
 if (vchoice[0].checked==true) {

 } else {

 }


ラジオボタンの一つ目のボタンをチェックしているかどうかで処理を分岐させた。

IEでも動作した。IEはバージョン11。現時点での最新版のはず。

IE11.png

ChromeとEdgeだけでなく、Fire FoxとSafari(Mac)での動作も確認した。

document.form1.choice.value


document.form1.choice.value の値がIEだけ異なることの原因は不明。

不思議だ。







posted by db-engineer at 00:00 | Comment(0) | Javascript

2020年05月28日

xxhashjsでつまずく


 yarn serve


実行すると以下のエラメッセージが表示された。


ERROR Failed to compile with 1 errors 19:04:51

This dependency was not found:

* xxhashjs in ./src/password.js

To install it, you can run: npm install --save xxhashjs


[Ctrl]+[c]でyarnを打ち切り、

エラーメッセージの指示のとおりに下のコマンドを実行した。


 npm install --save xxhashjs


インストールは正常に行われ、yarn serv も実行できた。

xxhashjs

Webで検索して、最速のハッシュアルゴリズムであることが分かった。








posted by db-engineer at 00:00 | Comment(0) | Javascript

2019年05月07日

Javascriptで3桁区切り表示

参加費用をJavascriptで計算して画面に表示している。

3桁ごとに , を入れたい。

区切りなし

  vtotal = parseInt(v_hiyou1) + parseInt(v_vhiyou2) + parseInt(v_hiyou3);
  document.formname.total.value = vtotal;



区切りあり

 vtotal = parseInt(v_hiyou1) + parseInt(v_vhiyou2) + parseInt(v_hiyou3);
 var numberWithComma = new Intl.NumberFormat();
 document.formname.total.value = numberWithComma.format(vtotal);


Intl.NumberFormatは¥や$の表示にも使えるらしい。







posted by db-engineer at 00:00 | Comment(0) | Javascript

2019年04月06日

jquery 関数内でのコマンド表記

以下のソースを作成した。

(正確にはWebで見つけたサンプルを一部修正した。)


<script>
$(function(){
$('#btn1').click(function() {
 $.confirm({
  title:'確認',
  message:'よろしいですか?',
  'buttons' : {
   'OK' : {
       'class' : 'blue',
       'action': function(){
            // OKボタン押されたときの処理を記載
             }
         },
'cancel': {
'class' : 'gray',
'action': function(){
            // キャンセルボタン押されたときの処理を記載
             }
         }
        }
      });
 });
});
</script>


OKボタンを押されたときの処理の書き方だが
末尾にセミコロンがあってもなくても動作した。

         'action': function(){
            // OKボタン押されたときの処理を記載
            $('#form1').submit()
         }

         'action': function(){
            // OKボタン押されたときの処理を記載
            $('#form1').submit()
         }

コマンドを二つ書くとき、

, で区切っても区切らなくても実行できた。

         'action': function(){
            // OKボタン押されたときの処理を記載
           alert ('test')
            $('#form1').submit()
         }

         'action': function(){
            // OKボタン押されたときの処理を記載
           alert ('test'),
            $('#form1').submit()
         }

$('#form1').submit() が動作せずに悩んだのだが

submitコマンド表記の問題ではなかった。




posted by db-engineer at 00:00 | Comment(0) | Javascript

2019年04月05日

jquery ボタンclickで動作させる

jqueryで確認ダイアログを表示させるために

Webでサンプルプログラムを探していて、以下のソースを見つけた。


<script>
$(document).ready(function() {
 $.confirm({
  title:'確認',
  message:'よろしいですか?',
  'buttons' : {
   'Yes' : {
       'class' : 'blue',
       'action': function(){
            // OKボタン押されたときの処理を記載
             }
         },
   'cancel': {
       'class' : 'gray',
       'action': function(){
            // キャンセルボタン押されたときの処理を記載
             }
         }
        }
      });
});
</script>


このままではこのソースを組み込んだページが表示されたときに実行される。

ボタンをクリックしたときに実行したい。

$(document).ready(function() を $('#btn1').click(function() に変更したが動作しない。

(btn1はボタンのID)

結局、$('#btn1').click(function() の 上にもう一つ $(function() { を置いたら動作した。


<script>
$(function(){
$('#btn1').click(function() {
 $.confirm({
  title:'確認',
  message:'よろしいですか?',
  'buttons' : {
   'Yes' : {
       'class' : 'blue',
       'action': function(){
            // OKボタン押されたときの処理を記載
             }
         },
'cancel': {
'class' : 'gray',
'action': function(){
            // キャンセルボタン押されたときの処理を記載
             }
         }
        }
      });
 });
});
</script>


よく理解しないまま、Try and Error を繰り返している内にうまくいっただけ。

jquery_confirm.png

HTML ボタン

<input type="button" id="btn1" value="保存">


HTML header部分

<link href="css/jquery.confirm.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="js/jquery.confirm.js"></script>



posted by db-engineer at 00:00 | Comment(0) | Javascript

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド