Проблемы с получением функции Javascript для работы - PullRequest
2 голосов
/ 20 марта 2019

ИЗНАЧАЛЬНО;У меня была кнопка, пытающаяся вызвать функцию, но вложенная в форму, кнопка по умолчанию будет вызывать событие отправки формы: было рекомендовано добавить тег к кнопке, и я смог обойти свою первоначальную проблему.

Моя новая проблема:

Итак, у меня есть эти кнопки: j

И я хочу, чтобы эти кнопки вызывали, независимо от того, является ли поле датыскрыто или нет.

    else if (question.Expected_Answer_Type == "Date")
{
    <input type="button" value="Add a Date @ViewBag.QuestionID" onclick="makeDateVisible(#@ViewBag.QuestionID)">

    @Html.TextBoxFor(m => m.QuestionnaireAnswers[i].Answer, Model.Date.ToString("M/d/yyyy"), new { @class = "form-control date hidden", @id = ViewBag.QuestionID }) if (Model.QuestionnaireAnswers == null)

    {
        <script>
            $(document).ready(function () {
                    $('#@(ViewBag.QuestionID)')
                        .val("@(DateTime.Today.ToShortDateString())");
                }

            );
            function makeDateVisible(@ViewBag.QuestionID) {
                alert("Hello");
            } 

        </script>
    }
}

Я не могу получить оповещение внутри makeDateVisible для запуска.

внутри браузера .... Я получаю ошибку: Uncaught SyntaxError: Invalidили неожиданный токен, и в конце этой строки появляется красная линия:

  <input type="button" value="Add a Date @ViewBag.QuestionID" onclick="makeDateVisible(#@ViewBag.QuestionID)">

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Вы должны передать #@ViewBag.QuestionID в кавычках, тогда он будет считаться строковым аргументом

В противном случае он обрабатывается как переменная, поэтому генерируется ошибка.

1 голос
/ 20 марта 2019

Вместо тега Button используйте входной тег и добавьте type = «button» к тегу, и это должно решить вашу проблему.Я связал сайт для справки.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/button

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...