Javascript - Удалите скрытые поля или установите пустым перед отправкой формы - PullRequest
2 голосов
/ 29 января 2012

Я хочу удалить 2 скрытых поля или задать для них значение NULL в форме перед выполнением действия POST с помощью события onclick для флажка.

Это то, что у меня есть -

<input type="hidden" id="ci" name="ci" value="2"/>
<input type="hidden" id="pg" name="pg" value="prev"/>

<form:checkboxes path="choices" items="${lookups}" itemValue="id" itemLabel="label" element="li" **onclick="this.form.submit();"**/>

Как мне изменить JS события onclick для поддержки этого?

Спасибо!

Ответы [ 4 ]

4 голосов
/ 29 января 2012

Просто измените onclick на это:

onclick="document.getElementById('ci').value = ''; document.getElementById('pg').value = ''; this.form.submit();"

Вам просто нужно использовать идентификатор элементов, а затем присвоить их значение пустой строке - это все равно будет отправлять значение.Чтобы отключить любое значение, отключите эти элементы:

onclick="document.getElementById('ci').disabled = true; document.getElementById('pg').disabled = true; this.form.submit();"
2 голосов
/ 29 января 2012

$("input[type='hidden']").each(function(){

  $(this).reset();

});

.......................................................или же......................................................

Приведенный ниже код состоит из JavaScript.Это может работать

oForm = getElementById('form_id');

var frm_elements = oForm.elements;

for (i = 0; i < frm_elements.length; i++)

{

field_type = frm_elements[i].type.toLowerCase();
switch (field_type)
{
case "text":
case "password":
case "textarea":
case "hidden":
    frm_elements[i].value = "";
    break;
case "radio":
case "checkbox":
case "select-one":
case "select-multi":
default:
}

}

0 голосов
/ 29 января 2012

Измените свою часть onclick, как показано ниже.

onclick="javascript:Clicked();"

Затем определите вашу функцию onclick в клиентском javascript под заголовками тегов.

<Head>
<script language=javascript>
function Clicked()
{
 //1. Write code to hide fields
 document.forms[0].submit(); 
}
</script>
</Head>
0 голосов
/ 29 января 2012

Заставить onclick вызывать функцию, которая вызывает submit. С помощью jQuery это легко сделать

function doform(){
    $.each($('input[type=hidden]'), function(input){
        $(input).val('');
    });
 }

Измените свой щелчок, чтобы вызвать это. Вы также можете сделать это с помощью обычного доступа к DOM с использованием getElementsByTagName и фильтрации по типу или даже прямого набора вызовов getElementById

function doform(){
  var i1 = document.getElementById('pg');
  i1.value = '';
  var i2 = document.getElementById('ci');
  i2.value = '';
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...