[WordPress] なぜすることができます ' t の私のボタンを無効にするか?

スポンサーリンク

Question

単純な javascript のボタン (

id="storeButton"

) これを無効にする時間を続けてきた短いスクリプトです。私は構文が無駄にその旨をインターネット上のすべてのバリエーションを試してみました。ワードプレスのページでこれを実行していますことができます誰か教えてください私のミスは何ですか?

WordPress ページ:

Welcome!

What is this project, and why contribute? text


take_snapshot.js、ここで問題と思われる

document.getElementById("storeButton").disabled = true;

:

function webcamConfigure(){
    Webcam.set({
        width: 320,
        height: 240,
        dest_width: 640,
        dest_height: 480,
        image_format: 'jpeg',
        jpeg_quality: 100,
        force_flash: true
    });
}

function attach(){
    Webcam.attach( '#my_camera' );
}

function createStoreButton(){
    sendButton = document.createElement("input");
    sendButton.type = "button";
    sendButton.value = "Send snapshot!";
    sendButton.onclick = function store(){
        Webcam.snap( function(data_uri) {
            document.getElementById('my_result').innerHTML = '';
        } );
    }
    placeHolder = document.getElementById("storeButton");
    placeHolder.appendChild(sendButton);
}

function disableBtn(){
    document.getElementById("storeButton").disabled = true;
}

function createFreezeButton(){
    myButton = document.createElement("input");
    myButton.type = "button";
    myButton.value = "Take snapshot!";
    myButton.onclick = function freeze(){
        if (myButton.value=="Take snapshot!") {
            myButton.value = "Discard snapshot!";
            Webcam.freeze();
            //document.getElementById("storeButton").disabled = false;
        }
        else {
            myButton.value = "Take snapshot!";
            Webcam.unfreeze();
            //document.getElementById("storeButton").disabled = true;
        }
    }
    placeHolder2 = document.getElementById("freezeButton");
    placeHolder2.appendChild(myButton);
}

答え

その本部中含まれている作成したボタンを無効にするのではなく、”storeButton”と呼ばれる div を無効にしようとしています。ユーザーのコンテキストでそれを行うに簡単な方法は公共 var をそれを無効にするときに使用できるボタンを作成するときに:

var sendButton;
function webcamConfigure(){
    Webcam.set({
        width: 320,
        height: 240,
        dest_width: 640,
        dest_height: 480,
        image_format: 'jpeg',
        jpeg_quality: 100,
        force_flash: true
    });
}

function attach(){
    Webcam.attach( '#my_camera' );
}

function createStoreButton(){
    sendButton = document.createElement("input");
    sendButton.type = "button";
    sendButton.value = "Send snapshot!";
    sendButton.onclick = function store(){
        Webcam.snap( function(data_uri) {
            document.getElementById('my_result').innerHTML = '';
        } );
    }
    placeHolder = document.getElementById("storeButton");
    placeHolder.appendChild(sendButton);
}

function disableBtn(){
    sendButton.disabled = true;
}

これが役に立てば幸い

:)David

答え

まあ、誰かが一過性私のボタンを働いていたことを示す downvoted の答え投稿しますが、css を欠けていた。完全に正しい答えではなかっただが彼はいたいくつかの良い点を正しい軌道に乗って私を送ったので。(これを読んでいる場合、旧回答者の親愛なるあなたの答えを再発行し、賛成をよそれ !).

実際に私がやって、ここ… かを知らないし、私のコードの構造は、JS の神に対する冒涜で確かにしかし、うまくいけば、そうここに行く:

var sendButton;
var freezeButton;

function webcamConfigure(){
    Webcam.set({
        width: 320,
        height: 240,
        dest_width: 640,
        dest_height: 480,
        image_format: 'jpeg',
        jpeg_quality: 100,
        force_flash: true
    });
}

function attach(){
    Webcam.attach( '#my_camera' );
}

function createStoreButton(){
    sendButton = document.createElement("input");
    sendButton.type = "button";
    sendButton.value = "Send snapshot!";
    sendButton.disabled = true;
    sendButton.onclick = function store(){
        Webcam.snap( function(data_uri) {
            document.getElementById('my_result').innerHTML = '';
        } );
        freezeButton.value = "Take snapshot!"
        sendButton.disabled = true;
    }
    placeHolder = document.getElementById("storeButton");
    placeHolder.appendChild(sendButton);
}

function createFreezeButton(){
    freezeButton = document.createElement("input");
    freezeButton.type = "button";
    freezeButton.value = "Take snapshot!";
    freezeButton.onclick = function freeze(){
        if (freezeButton.value=="Take snapshot!") {
            freezeButton.value = "Discard snapshot!";
            Webcam.freeze();
            sendButton.disabled = false;
        }
        else {
            freezeButton.value = "Take snapshot!";
            Webcam.unfreeze();
            sendButton.disabled = true;
        }
    }
    placeHolder2 = document.getElementById("freezeButton");
    placeHolder2.appendChild(freezeButton);
}

http://stackoverflow.com/questions/27848599/why-cant-i-disable-my-button

スポンサーリンク

Leave a Reply