0

私はHTMLとJavaScriptの初心者なので、助けを探しています。フォームがあり、送信ボタンがあります。送信ボタンをクリックすると、ボタンの名前が変わり、何らかのアクションが実行されます。ボタンをもう一度クリックすると、別のアクションを実行する必要があります。これが私のコードです。

HTML:

        <form name="myform" method="post" onsubmit="return false">

        <input type="submit" id="reschedule" value="reschedule" onclick="changeContent()"/>

Javascript は次のとおりです。

        function changeContent(ref){
        alert(id)
        document.getElementById("reschedule").value="Submit"
        var editables = document.getElementsByClassName('editableText');
        for (var i = 1; i < editables.length; i++) {
            var newstate = !editables[i].isContentEditable;
            editables[i].contentEditable = newstate;
            editables[i].bgcolor='#FF0000'
        }
        if (document.getElementById("Submit").click) {
            alert("submit")
        }
    }

そのため、再スケジュールをクリックすると、ボタン名が送信に変わります。送信機能をクリックする必要がある場合は、何らかのアクションを実行する必要があります。これどうやってするの。

4

4 に答える 4

1

return false;ページが更新されず、同じページで何でもできるように、関数の最後にする必要があります。次の JavaScript コードを使用します

        function changeContent(ref){
        alert(id)
        document.getElementById("reschedule").value="Submit"
        var editables = document.getElementsByClassName('editableText');
        for (var i = 1; i < editables.length; i++) {
            var newstate = !editables[i].isContentEditable;
            editables[i].contentEditable = newstate;
            editables[i].bgcolor='#FF0000'
        }
        if (document.getElementById("Submit").click) {
            alert("submit")
        }
        return false;
    } 
于 2013-02-12T07:12:56.320 に答える
0

する必要があります:

function changeContent()
{
    document.getElementById("reschedule").value = "Submit";
    var editables = document.getElementsByClassName('editableText');
    for (var i = 1; i < editables.length; i++) 
    {
        var newstate = !editables[i].isContentEditable;
        editables[i].contentEditable = newstate;
        editables[i].bgcolor='#FF0000'
    }
    if (document.getElementById("reschedule").value = "Submit") 
    {
       document.getElementById("reschedule").onclick=function(){
            alert('Hello this submit button click event');
       };
    }
}
于 2013-02-12T07:20:56.283 に答える
0

私の頭に浮かぶ最初の解決策は、ボタンの名前を確認し、その値に応じて何らかのアクションを実行することです。例えば:

function changeContent(ref){
    if(document.getElementById("reschedule").value == "reschedule") {
        alert(id)
        document.getElementById("reschedule").value="Submit"
        var editables = document.getElementsByClassName('editableText');
        for (var i = 1; i < editables.length; i++) {
            var newstate = !editables[i].isContentEditable;
            editables[i].contentEditable = newstate;
            editables[i].bgcolor='#FF0000'
        }
    }
    else if(document.getElementById("reschedule").value == "Submit") {
        // do something else
    }
}

これはあなたが探しているものですか?

于 2013-02-12T07:13:50.533 に答える
0

ボタンを使用してみてください。送信ボタンをクリックして送信すると、ボタンの使用を試行するアクションとともにページが更新されます

ボタンを更新する

 <input type="button" id="reschedule" value="reschedule" onclick="changeContent()"/>

次に、Javaスクリプト関数を次のように変更します

  function changeContent(ref){
        alert(id)
        document.getElementById("reschedule").value="Submit"
        var editables = document.getElementsByClassName('editableText');
        for (var i = 1; i < editables.length; i++) {
            var newstate = !editables[i].isContentEditable;
            editables[i].contentEditable = newstate;
            editables[i].bgcolor='#FF0000'
        }

        if (document.getElementById("Submit").click) {
            alert("submit");
             return true;
        }
        return false;
    } 

更新設定:

JavaScript 関数で次のようにButtonを使用してアクションを呼び出すことができます。

 document.your_form_name.action = "your_action_name";
 document.your_form_name.submit();   
于 2013-02-12T07:17:49.513 に答える