提交时不采用函数返回值.并且没有按预期行事

onsubmit not taking the function return value. and not behaving as expected

本文关键字:返回值 函数 提交      更新时间:2023-09-26
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"
    type="text/javascript"></script>
<script>
    flag = true;
    function myf() {
        var numbersString = "1,2,3,4,5,6";
        var data = $('#valueHolderId').html().split(",");
        var s = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId'" name='"selectName'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s);
        }
        var numbersString = "100,200,300,400,5,6";
        var data = numbersString.split(",");
        var s1 = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId1'" name='"selectName1'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s1);
        }
        var t = $("<div style='"margin-top:10px;'"/>");
        s.appendTo("#msj_form");
        s1.appendTo("#msj_form");
        t.appendTo("#msj_form");
        submit();
    }
    function submit() {
        if (flag) {
            return false;
        } else {
            return true;
        }
    }
    function go() {
        flag = false;
        alert(falg);
    }
</script>

</head>
<body>
    <form id="msj_form" action="winners" onsubmit="return submit()">
        <button id="add" value="add" onclick="myf()">ADD</button>

        <button name="button" onclick="go()">SubmitDadta</button>
    </form>
</body>


</html>

提交时不采用函数返回值。 并且行为不符合预期提交时不采用函数返回值。并且行为不符合预期提交时不采用函数返回值。并且行为不符合预期

是的,你没有返回 myf() 中的值

试试这个:

function myf() {
        var numbersString = "1,2,3,4,5,6";
        var data = $('#valueHolderId').html().split(",");
        var s = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId'" name='"selectName'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s);
        }
        var numbersString = "100,200,300,400,5,6";
        var data = numbersString.split(",");
        var s1 = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId1'" name='"selectName1'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s1);
        }
        var t = $("<div style='"margin-top:10px;'"/>");
        s.appendTo("#msj_form");
        s1.appendTo("#msj_form");
        t.appendTo("#msj_form");
        return submit();
    }

在提交功能中:

function submit(evt) {
        if (flag) {
            evt.preventDefault();
            return false;
        } else {
            return true;
        }
    }

您还必须确保可以在提交函数中读取标志变量。希望对你有帮助

试试这个:

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"
    type="text/javascript"></script>
<script>
    var flag = false;
    function myf() {
        var numbersString = "1,2,3,4,5,6";
        var data = $('#valueHolderId').html().split(",");
        var s = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId'" name='"selectName'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s);
        }
        var numbersString = "100,200,300,400,5,6";
        var data = numbersString.split(",");
        var s1 = $("<select style='"margin-left:30px;padding-right:40px;'" id='"selectId1'" name='"selectName1'" />");
        for ( var val in data) {
            $("<option />", {
                value : val,
                text : data[val]
            }).appendTo(s1);
        }
        var t = $("<div style='"margin-top:10px;'"/>");
        s.appendTo("#msj_form");
        s1.appendTo("#msj_form");
        t.appendTo("#msj_form");
        var flag = true;
    }
    function go()
    {
        if (flag) {
            return false;
        } else {
            return true;
        }
    }
</script>

</head>
<body>
    <form id="msj_form" action="winners">
        <button id="add" value="add" onclick="myf()">ADD</button>
        <button name="submit" onclick="return go()">SubmitDadta</button>
    </form>
</body>


</html>