Javascript форма отправки с несколькими ссылками - PullRequest
0 голосов
/ 02 сентября 2011

Я упростил свой код для этого вопроса, но в моем последнем веб-приложении на странице вместо ~ 100 форм вместо двух.Мой вопрос заключается в том, как сделать так, чтобы мои ссылки отправляли формы с помощью javascript.То, что у меня сейчас, не работает, очевидно, потому что есть несколько полей, называемых supporttype.Что является лучшим способом сделать то, что я хочу сделать для крупномасштабных ~ 100 форм.

<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function getsupport ( selectedtype )
{
  document.albumdl.supporttype.value = selectedtype ;
  document.albumdl.submit() ;
}
-->
</script>
</head>
<body>


<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" />
<a href="javascript:getsupport('form1')">Form1 </a>
</form>

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" />
<a href="javascript:getsupport('form2')">From2</a>
</form>





</body>
</html>

Ответы [ 2 ]

0 голосов
/ 02 сентября 2011

Самый простой способ - поместить значения form1 и form2 в значения соответствующих входов:

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" value="form1" />
<a href="javascript:submitForm(this)">Form1 </a>
</form>

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" value="form2" />
<a href="javascript:submitForm(this)">From2</a>
</form>

А затем напишите общий JS для отправки формы, ближайшей к нажатой ссылке:

function getsupport ( link ) {
    var form = link.parentNode;
    while (form.tagName != "FORM") {
        form = form.parentNode;
    }
    form.submit();
}
0 голосов
/ 02 сентября 2011

Вы можете построить форму динамически:

function getSupport (type) {
    var f = document.createElement('form'),
    input = document.createElement('input');
    f.setAttribute('action', 'processLinks.php');
    f.setAttribute('method', 'post');

    input.setAttribute('name', 'supporttype');
    input.value = type;

    f.appendChild(input);
    f.submit();
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...