Оповещение на Javascript и отправка формы со значением

#javascript #asp.net-mvc

#javascript #asp.net-mvc

Вопрос:

Я хочу отправить форму с помощью javascript при нажатии на изображение. Нажатие фактической кнопки отправки работает, но не отправка javascript.

 <img class='File' src="imagehere" onclick="editFileName()"/>

<script>
        function editFileName() {
            var fileName = prompt("Type in name:");
            if (fileName != null) {
                document.getElementById('editNameField').value = fileName;

    //tried these two
                document.EditFileName.submit();
                document.getElementById('test').submit();
            }
        }
    </script>

@using (Html.BeginForm("EditUploadedFileName", "Folder", new { name = "EditFileName", id = "test" }))
{
    <input type="hidden" id="editNameField" value="a">
    <input type="hidden" id="blobName" value="a">
    <input type="submit"/>
}
  

Редактировать

Исправлена опечатка кнопки. Это не имеет никакого отношения к тому, что это не работает, была опечатка, когда я вставлял код. Есть ли причина для понижения? Боже

Комментарии:

1. я думаю, что неправильный синтаксис <button type="submit"</button>

2. Да, опечатка, когда я вставил сюда код. Но, как я уже сказал, кнопка отправки работает.

Ответ №1:

Придумал рабочее, но не очень красивое решение..

 <script>
    function editFileName() {
        var fileName = prompt("Type in name");
        if (fileName != null) {
            document.getElementById('editFileName').value = fileName;
            document.getElementById("SubmitEdit").click();
        }
    }
</script>

@using (Html.BeginForm("EditUploadedFileName", "Folder", new { blobName = file.BlobName }))
{
<input type="hidden" name="editFileName" id="editFileName" />
<input type="submit" id="SubmitEdit" style="display:none;" />
}
  

Ответ №2:

<input type="submit"/> Измените кнопку на ввод, и она должна работать.

Комментарии:

1. Я тоже это пробовал. Он регистрирует оповещение о приглашении, но не документ. EditFileNameSubmit.submit(); или document.getElementById(‘test’).submit(); Я также пробовал с предупреждением после окна запроса, и это работает

2. Попробуйте изменить идентификатор с ‘test’ на что-то другое, у меня возникали проблемы на других языках, используя test как любую переменную, длинный выстрел, но это может сработать. Однако лучшее, что вы можете сделать, это открыть Chrome developer tools и отладить javascript.

Ответ №3:

Попробуйте это

 document.forms["test"].submit();
  

Комментарии:

1. Не сработало.. Пробовал document.forms[«EditFileNameSubmit»].submit(); также

2. Как вызывается функция editFileName . Является ли изображение внутри формы

3. Переместить тег изображения внутри формы

4. Рекомендуется переместить скрипт ниже html. на вашей странице может быть какой-то другой код, который искажает этот код