重新加载页面后重置按钮值

时间:2017-02-20 11:35:50

标签: javascript laravel-5.3

我想用两个语言的一个按钮。当按钮值为英语时,内容将以其他语言显示,反之亦然。但是页面重新加载后按钮值始终设置为英语。我正在使用laravel 5.3

html代码:

<input type="button" name="locale" id="languageSwitcher" href="{!! url('lang') !!}" class="btn btn-round btn-primary" value="English">

javascript代码:

$("#languageSwitcher").change(function () {
    var locale = document.getElementById("languageSwitcher").value;
    if (locale == "English") {
        lang = "en";
        document.getElementById("languageSwitcher").value = "Bangla"
    }
    else if (locale == "Bangla") {
        lang = "bn";
        document.getElementById("languageSwitcher").value = "English"

    }
    var _token = $("meta[name=_token]").val();
    $.ajax({
        url: "/language",
        type: 'POST',
        data: {locale: lang, _token: _token},
        dataType: 'json',
        success: function (data) {

        },
        error: function (data) {

        },
        beforeSend: function (data) {

        },
        complete: function (data) {
            window.location.reload(true);

        }
    });
});

2 个答案:

答案 0 :(得分:0)

你的问题在这里

<input type="button" name="locale" id="languageSwitcher" href="{!! url('lang') !!}" class="btn btn-round btn-primary" value="English">

你必须使用一个变量通过控制器传递值,或者在控制器上寻找控制器,因为在每个页面上重新加载你的值总是会从视图上的输入html标签值静态加入

答案 1 :(得分:0)

当页面重新加载您的代码时

<input type="button" name="locale" id="languageSwitcher" href="{!! url('lang') !!}" class="btn btn-round btn-primary" value="English"

再次运行..很明显,该值设置为&#34;英语&#34;。如果你想满足你的要求,那么尝试一些可以保存值的东西,比如隐藏的输入提交我们的全局变量。