javascriptとasp.net mvcプロジェクトの変数に問題があります。asp.net mvcのjavascript変数に関する問題
私はユーザーがページをフルスクリーン形式で表示するオプションを持つアプリケーションを構築しています。
ユーザーがページをフルスクリーン形式で表示し、送信キーをクリックすると、ページが送信される前に警告が表示されます。
私は、ユーザーが警告を受けるべきであるかどうかを判断するために、条件を処理するjavascriptにいくつか問題があります。
Javascriptを: 次のコードは、問題を示して
<script type="text/javascript">
var $full = false; //initiates the full variable
$(document).ready(function() {
$("#TemplateID").change(function() { //when selected index of dropdown is changed
var selectedIndex = $("select option:selected").first().text(); //the selected index
$.get('@Url.Action("getIfFullscreen", "Messages")', //calls an ASP.net method to determine if selected index should be displayed as fullscreen
{ id: selectedIndex }, function (data) {
$full = data; //sets the variable full to return value
Debug.writeln("onchange:" + $full) //displays as expected
});
});
});
$(document).ready(function() {
$('[data-confirm]').click(function (e) {
Debug.writeln("onclick:" + $full); //displays as expected
if ($full == true){ //always takes the value from when the variable full was initiated
if (!confirm($(this).attr("data-confirm"))) {
e.preventDefault();
}
}
});
});
</script>
HTML:
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" data-confirm="Are you sure?" value="Skicka" class="btn btn-default" />
</div>
</div>
それは変数フルのように思えるが、の表情から(最初の関数に)変更されましたデバッグ出力はif文で最初に開始されたときと同じように解釈されます。
私はかなりjavascriptに新しいですし、どんな助けも大歓迎です。
あなたは$のfull' 'で見る価値は何ですか?ブール値trueまたは文字列 "true"に設定していますか? – Shyju
私はasp.netの部分からブールtrue/falseで設定しています。私はあなたが正しい方向に私を指摘したと思います。代わりに整数を使用するようにフル変数を変更しましたが、今度はtrueとfalseの代わりに0と1を使用すると動作するようです。どうもありがとうございました! – karra
はい。私はそれが失敗する理由を説明する答えを追加しました。 – Shyju