-1

非表示の入力フィールドの値が変更されたときにオーディオ ファイルを再生する必要があります。この非表示の入力は<table>、値を更新するために Ajax によって更新される にあります。

私がする必要があるのは、(たとえば) 値が [はい] に変わるときはClap.wav再生する必要があり、そうでない場合、値が [いいえ] になったときは再生する必要がありboo.wavます。

誰でもこれまたはアイデアのサンプルコードを教えてもらえますか? 喜んで手伝ってくれる人に感謝します。

ここに私のコードのいくつかがあります

これは非表示の入力フィールド コードです。connExcelこれは、platinum.phpの ID を持つテーブルにあります。

<input type="hidden" name="indVal" id="indVal" value=" <?php echo $objWorksheet->getCellByColumnAndRow(5, 5)->getOldCalculatedValue();  ?> ">

そして、これが私のAjaxコードの一部です

xmlHttp.onreadystatechange=function(){ 
    if(xmlHttp.readyState==4){ 
    document.getElementById('connExcel').innerHTML=xmlHttp.responseText;
        setTimeout('AutoRefresh()',100); // JavaScript function calls AutoRefresh() every 3 seconds
    }
}
xmlHttp.open("GET","<?php if( isset( $isAdmin ) &&  $isAdmin == TRUE ){ echo  '../../library/tosloader.php?page='. $pageID; } else {  echo  ../library/tosloader.php?page='. $pageID; }  ?>",true);

テーブルを更新するためのplatinum.phpを含む「tosloader.php」。

4

3 に答える 3

0

非表示の入力の値を設定するコードでこれを行います

$('#myHiddenID').val(myValue).trigger('change');

次に、このような変更イベントを使用します

$('#myHiddenID').change(function(){
     var OnOff = $(this).val();
     if (OnOff == "ON") { // play clap}
     if (OnOff == "OFF) { //play boo}
})
于 2012-12-29T02:54:40.907 に答える
0

jsBin デモ

HTML:

<input id="inp" type="text" value="NO" />

JS:

function checkInputValue(){

    var files = { "YES": "Clap.wav", "NO": "boo.wav" };
    var sound = new Audio( files[ $('#inp').val() ] );
    sound.play();

}

checkInputValue(); // USE WHEREVER YOU LIKE

または、次のようにすることもできます:

ファイルに名前を付ける:yes.wavおよびno.wav

function checkInputValue( snd ){
    var sound = new Audio( snd+'.wav');
    sound.play();     
}

var AJAXval = ("YES").toLowerCase() ; // the returned value to lowercase
checkInputValue( AJAXval );
于 2012-12-29T02:57:39.673 に答える
0

DOM から要素を完全に追加および削除しているように聞こえるので、DOMNodeInsertedイベントを監視する必要があります。幸いなことに、それにバインドできます。非表示の入力のクラスはhiddenInput. 次に、適切な名前のソース要素を取得する必要があり<source id="yesAudio"..../>ます<source id="noAudio".../>。jquery の.get()メソッドを使用してから、HTML5 オーディオ API を使用して.play();それらを呼び出します。

$(document).on('DOMNodeInserted', function(e){
    if(e.srcElement.className == 'hiddenInput'){
        if(e.srcElement.value == 'yes'){
            $('#yesAudio').get().play();    
        }else{
            $('#noAudio').get().play();
        }
    }        
});​​​​​

これがあなたの望むものだと思います。

于 2012-12-29T03:00:58.793 に答える