|
|
|
| После нажатия на кнопку submit-типа вызывается действие по onclick="addAction(this.form)", которое спрашивает, добавлять ли действие (значение в скрытое поле "additional" какое-либо значение или нет).
Как сделать, чтобы только после этого происходила отправка формы?
<script type="text/javascript">
function addAction(form)
{
if (confirm("Add the action?")) document.getElementById("test").value = "testing";
form.submit();
}
</script>
|
При таком коде получается, будто форма уже отправилась при нажатии, поэтому записанное JavaScript-ом значение в поле не передается. | |
|
|
|
|
|
|
|
для: Sturmvogel
(23.11.2011 в 17:28)
| | Поменяйте тип кнопки сабмита на button и повесьте на неё вашу функцию. | |
|
|
|
|
|
|
|
для: АЯС
(23.11.2011 в 20:25)
| | проблема осталась
<form action="admin.php?mode=spam_archive" method="post" name="spam_reports" id="actions_form">
...
<button name="spam_archive_action" value="Not Spam" title="Click to mark this page as not-spam page" onclick="addAction(this.form)">Not Spam</button>
...
<script type="text/javascript">
function addAction(form)
{
if (confirm("Unban the page author?"))
{
document.getElementById("additional_action").value = "unban_author"ж
}
form.submit();
}
</script>
|
| |
|
|
|
|
|
|
|
для: Sturmvogel
(23.11.2011 в 21:07)
| | Никаких проблем не вижу. Добавьте нужное поле, закройте форму и уберите кириллический символ из скрипта
<form action="admin.php?mode=spam_archive" method="post" name="spam_reports" id="actions_form">
<input id="additional_action" name="hh">
...
<button name="spam_archive_action" value="Not Spam" title="Click to mark this page as not-spam page" onclick="addAction(this.form)">Not Spam</button>
...
</form>
<script type="text/javascript">
function addAction(form)
{
if (confirm("Unban the page author?"))
{
document.getElementById("additional_action").value = "unban_author"; //Ж-кать не надо
}
form.submit();
}
</script>
|
| |
|
|
|
|
|
|
|
для: АЯС
(23.11.2011 в 21:40)
| | так у вас форма отправляется всегда, только если вы подтвердили действие, у вас меняется значение поля.
а форма отправляется всегда
<script type="text/javascript">
function addAction(form)
{
if (confirm("Add the action?")) { document.getElementById("test").value = "testing"; form.submit(); }
}
</script>
|
| |
|
|
|
|
|
|
|
для: flaers
(24.11.2011 в 12:12)
| | Перечтите исходный топик.
Форма и ДОЛЖНА отправляться ВСЕГДА.
Проблема у топикстартера была в том, что поле с id="additional_action" не получала прописываемого скриптом значения при положительном ответе на вопрос конфирма. | |
|
|
|
|
|
|
|
для: АЯС
(24.11.2011 в 12:55)
| | давайте дождемся автора темы и не будем создавать ненужную дискуссию | |
|
|
|
|
|
|
|
для: flaers
(24.11.2011 в 17:28)
| | проблему решил, перейдя на ссылки и введя href="javascript:void();". Иначе данные не отправляются | |
|
|
|
|
|
|
|
для: Sturmvogel
(24.11.2011 в 18:18)
| | Глупости.
Уберите атрибуты из тега <FORM>, сохраните код как файл *.html, запустите его в браузере, нажмите кнопку, ответьте на вопрос конфирма и внимательно изучите адресную строку - там увидите пару hh=unban_author при утвердительном ответе на вопрос конфирма (или hh= при отрицательном), что является свидетельством того, что данные прекрасно отправляются:
<form action="admin.php?mode=spam_archive" method="post" name="spam_reports" id="actions_form">
<input id="additional_action" name="hh">
...
<button name="spam_archive_action" value="Not Spam" title="Click to mark this page as not-spam page" onclick="addAction(this.form)">Not Spam</button>
...
</form>
<script type="text/javascript">
function addAction(form)
{
if (confirm("Unban the page author?"))
{
document.getElementById("additional_action").value = "unban_author"; //Ж-кать не надо
}
form.submit();
}
</script>
|
| |
|
|
|