Отправка входных имен в форме Django, имеющей код JavaScript - PullRequest
1 голос
/ 28 октября 2019

У меня есть следующий код:

<form id="buttonForm" action = "/goSomeWhere" method="post" >
    <input type="submit" name="bnext" value="Next Page" >
    <input type="submit" name="bprevious" value="Previous Page" >
</form>

Когда любая из этих двух кнопок отправлена, я получаю значения "bnext" или "bprevious" в запросе Django View. ПОСТ, чтобы я мог далее построить логикучто мне нужно.

Но когда я пытаюсь вставить некоторый JavaScript для второй кнопки, я теряю эти значения:

<input type="submit" name="bnext" value="Next Page" >
<input type="submit" name="bprevious" id="bpid" onclick="disable()" value="Previous Page" >

function disable()
{
     document.getElementById("bpid").disabled = true;
     document.getElementById("buttonForm").submit();
}

Есть способ сделать это и по-прежнему получать входные именазначения?

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Извините, я не до конца понял, что вы пытаетесь сделать

Если вы пытаетесь остановить отправку формы, тогда:

function disable() {

   document.getElementById("bpid").disabled = true;

   document.getElementById("buttonForm").preventDefault();
 }

Если выесли клиент не должен снова нажимать предыдущую кнопку, то лучше изменить inputType submit на hidden:

function disable() {
    document.getElementById("bpid").type="hidden";
    document.getElementById("buttonForm").submit();
 }

или

создать новый <input type=hidden>, установить значения имени, добавить в форму и отправить его:

function disable() {
   document.getElementById("bpid"). disabled=true;
   newip= document.createElement("input");
   newip.type="hidden";
   newip.name="bprevious";
   newip.value="Previous Page";

document.getElementById("buttonForm").appendChild(newip);


document.getElementById("buttonForm").submit();
 }
0 голосов
/ 28 октября 2019

попробуйте использовать кнопку вместо ввода, как это

<button name="bprevious" id='bpid' onclick='disable()' value="Previous Page">Previous Page</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...