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(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 回答
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 回答