2016-03-01 1 views
-1

эта ошибка (снова) обсуждалась тысячу раз на разных форумах, но я не нахожу ничего, что могло бы помочь мне с моей проблемой. У меня есть форма, скрытое поле и некоторые ссылки, которые изменяют значение этого поля и представляют форму. Я проверил его много раз.Спрятанное значение поля в JavaScript не размещено

  • Функция называется.
  • Идентификатор передается функции.
  • Доступ к скрытому полю можно получить.
  • Значение скрытого поля может быть изменено.
  • вызываемый сайт не имеет значения из скрытого поля.
  • , если я использую кнопку отправки, а не с onclick="DeleteEvent(someValue)" значение передается к вызываемому сайта ... так что это скрытое поле ...

как-то ... кто-то идея, что это может быть?
Отправить работы, a href not ...
Или это может быть проблема div?

Исходный код:

function DeleteEvent(id){ 
 
    var hiddenId = document.getElementById('hiddenIdField'); 
 
    hiddenId.value = id; 
 
    document.forms['deleteForm'].submit(); 
 
}
<form action="" method="post" name="deleteForm"> 
 
    <input type="hidden" id="hiddenIdField" name="hiddenField" value="testy" /> 
 
    <div style="display: none" id="divText18"> 
 
    <br /> 
 
    <a href="" onclick="DeleteEvent(18)"> 
 
     <img src="images/delete.jpg"/> 
 
    </a> 
 
    </div> 
 
<!-- 
 
    this is the working part: 
 
    <input type="submit" onclick="DeleteEvent(18)" /> 
 
--> 
 
</form>

+0

пытались ли вы с помощью JQuery, как это для отправки формы ** $ ('# форма FormID'). Представить() ** – praveen

+0

Да. Без изменений. Вызывается функция, форма отправляется, значение отсутствует. –

+0

При щелчке неиспользуемого изображения в невидимом div do smth? Не могли бы вы предоставить тестовый пример? – Qwertiy

ответ

1

Ваша форма не работает из-за активного события связи. Используйте event.preventDefault() для onclick событий. Чтобы проанализировать событие в вашей функции, вам необходимо отправить его в свою функцию.

<form action="" method="post" name="deleteForm"> 
    <input type="hidden" id="hiddenIdField" name="hiddenField" value="testy" /> 
    <div style="display: none" id="divText18"> 
    <br /> 
    <a href="" onclick="DeleteEvent(18,event)"> 
     <img src="images/delete.jpg"/> 
    </a> 
    </div> 
<!-- 
    this is the working part: 
    <input type="submit" onclick="DeleteEvent(18)" /> 
--> 
</form> 

function DeleteEvent(id,event){ 
    event.preventDefault(); 
    var hiddenId = document.getElementById('hiddenIdField'); 
    hiddenId.value = id; 
    document.forms['deleteForm'].submit(); 
} 
+0

У меня также была функция внутри jquery $ .function() ... теперь без нее И с помощью safedefault она работает. Благодарю. –

0

Prooblem в этом коде ссылка тег перед тем изображением, он посылает браузер не в никуда по щелчку, прежде чем отправить, поэтому представить не могу Worki. Просто дайте onclick событие изображению или дайте "javascript :;" как href, чтобы сохранить браузер на странице.

function DeleteEvent(id){ 
    var hiddenId = document.getElementById('hiddenIdField'); 
    hiddenId.value = id; 
    document.getElementById("deleteForm").submit(); 
} 
<form action="" method="POST" id="deleteForm"> 
    <input type="text" id="hiddenIdField" name="hiddenField" value="testy" /> 
</form> 
<div style="display: inline" id="divText18"> 
    <img src="images/delete.jpg" style="cursor: pointer;" onclick="DeleteEvent(18)" /> 
</div> 

, но если вы должны использовать его с HREF, сделать его пребывание на странице, как

<a href="javascript:;" onclick="DeleteEvent(18)"> 
    <img src="images/delete.jpg /> 
</a> 

 Смежные вопросы

  • Нет связанных вопросов^_^