#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. на вашей странице может быть какой-то другой код, который искажает этот код