У меня возникла странная проблема. Моя функция javascript, кажется, работает нормально, когда я alert("1"+res)
, она дает мне желаемые результаты, но я пытаюсь установить флажок с логическим возвратом, и он просто не будет работать. Должно быть, я что-то глупое хватаю, вот мой код первого в яваскрипте функции:Функция Javascript не возвращает значение CSHTML
function GetDisplayImages() {
if (localStorage.DisplayImages) {
var name = "DisplayImages=";
var ca = document.cookie.split(';');
for (var i = 0, len = ca.length; i < len; i++) {
var c = ca[i].trim();
if (c.indexOf(name) == 0) {
var res = c.substring(name.length, c.length);
// resetting, just in case local storage not in sync.
self.SetDisplayImages(res);
if (self.Debug) {
toastr.info(res, "Returning Display Images setting from Cookie", { timeOut: 0, extendedTimeOut: 0 });
}
alert("1"+res);
return res;
}
}
}
}
Как уже упоминалось alert("1"+res)
отображает желаемое значение. Кажется, я не могу получить это значение из файла .cshtml, который я вызываю из функции. Вот что код там:
chk.onload = function (e) {
alert("2"+Library.settings.GetDisplayImages());
this.value = Library.settings.GetDisplayImages();
}
alert(Library.settings.GetDisplayImages());
даже не всплывать, но я знаю, что эта функция вызывается, потому что тревога в яваскрипте функции действительно обнаруживается. Пожалуйста, помоги мне, поэтому я могу перестать биться головой о мой стол! :)
Есть на самом деле 2 ошибки и вот они: Вот весь мой раздел сценария:
@section scripts{
<script type="text/javascript">
$(document).ready(function() {
chk = document.getElementById("chkDisplayImages");
chk.onload = function (e) {
alert(Library.settings.GetDisplayImages());
this.value = Library.settings.GetDisplayImages();
}
chk.onchange = function (e) {
Library.settings.SetDisplayImages(this.checked);
}
});
</script>
}
В SetDisplayImages()
отлично работает по какой-то причине.
проверьте свою консоль (F12 в браузере) и опубликуйте, какие ошибки вы получите, если они есть. – Banana
Я думал, что не получаю сообщение об ошибке, но, по некоторым причинам, он просто исчезает через менее чем одну секунду. В нем говорится: «Элемент не найден» – mgrenier
Можете ли вы определить линию, которая выдает ошибку? откройте «console.log» («1/2/3/etc ...») 'здесь и там и посмотрите, между какими журналами появляется ошибка. или отладить его и перейти по строке – Banana