Как отправить несколько форм, используя ajax и одну кнопку отправки?

Вот мой исполняемый код.

Я сделал это, чтобы почитать связанный список, используя три временных узла (сложность пространства O(1)), которые отслеживают ссылки.

Интересный факт заключается в том, чтобы помочь обнаружить цикл в связанном списке, потому что, когда вы продвигаетесь вперед, вы не ожидаете вернуться к начальной точке (корневому узлу) и одному из временных узлы должны идти до нуля, если у вас нет цикла, что означает, что он указывает на корневой узел.

Временная сложность этого алгоритма - O(n), а сложность пространства - O(1).

Вот узел класса для связанного списка:

public class LinkedNode{
    public LinkedNode next;
}

Вот основной код с простым тестовым случаем из трех узлов, который последний узел указывает на второй узел:

    public static boolean checkLoopInLinkedList(LinkedNode root){

        if (root == null || root.next == null) return false;

        LinkedNode current1 = root, current2 = root.next, current3 = root.next.next;
        root.next = null;
        current2.next = current1;

        while(current3 != null){
            if(current3 == root) return true;

            current1 = current2;
            current2 = current3;
            current3 = current3.next;

            current2.next = current1;
        }
        return false;
    }

Вот простой тестовый пример из трех узлов, который указывает последний узел ко второму узлу:

public class questions{
    public static void main(String [] args){

        LinkedNode n1 = new LinkedNode();
        LinkedNode n2 = new LinkedNode();
        LinkedNode n3 = new LinkedNode();
        n1.next = n2;
        n2.next = n3;
        n3.next = n2;

        System.out.print(checkLoopInLinkedList(n1));
    }
}
0
задан Rhys Wong 17 January 2019 в 07:24
поделиться

1 ответ

В качестве примера того, что я имел в виду с комментарием выше (используя объект FormData), я быстро соединил демонстрацию, чтобы указать, как вы можете достичь поставленной цели. Нет jQuery, просто простой, ванильный Javascript, но вы можете легко (я уверен) изменить его, чтобы использовать jQuery, если вам нужно.

<?php
    if( 

В качестве примера того, что я имел в виду с комментарием выше (используя объект FormData), я быстро соединил демонстрацию, чтобы указать, как вы можете достичь поставленной цели. Нет jQuery, просто простой, ванильный Javascript, но вы можете легко (я уверен) изменить его, чтобы использовать jQuery, если вам нужно.

[110]SERVER['REQUEST_METHOD']=='POST' ){ ob_clean(); echo "process the request, send a response, live long & prosper!"; exit(); } ?> <!DOCTYPE html> <html lang='en'> <head> <meta charset='utf-8' /> <title>multiple forms: one submit</title> <script> const submitall=function(e){ const callback=function(r){ console.info( 'response: %o',r ) } const ajax=function(url,data,callback){ let xhr=new XMLHttpRequest(); xhr.onreadystatechange=function(){ if( this.readyState==4 && this.status==200 )callback( xhr.response ); }; xhr.open( 'POST', url, true ); xhr.send( data ) }; /* add all data from each form to this object */ let fd=new FormData(); /* get references to all forms */ let oCol=document.querySelectorAll( 'form' ); /* process each form */ for( let n in oCol ){ if( oCol[ n ].nodeType==1 ){ let tmp={}; for( i in oCol[ n ].elements ){ if( typeof( oCol[n][i] )!='undefined' && oCol[n][i].nodeType==1 ){ tmp[ oCol[n][i].name ]=oCol[n][i].value; } } fd.append( oCol[n].name, JSON.stringify( tmp ) ); } } ajax.call( this, location.href, fd, callback ) } document.addEventListener('DOMContentLoaded',function(){ document.getElementById('master').onclick=submitall; }); </script> </head> <body> <input type='button' id='master' value='Gather all & submit' /> <form name='add_answer1' id='add_answer1'> <div class='table-responsive'> <table class='table table-bordered' id='dynamic_field1'> <tr> <label>question 1</label> <td> <input type='text' name='answer[]' placeholder='Enter your Answer' value='answer 1' class='form-control name_list' /> <input type='hidden' name='id[]' placeholder='id' value='id 1' class='form-control name_list' /> <input type='hidden' name='dg_no[]' placeholder='dg_no' value='dg_no 1' class='form-control name_list' /> <input type='hidden' name='code_no[]' placeholder='code_no' value='code_no 1' class='form-control name_list' /> <input type='hidden' name='question[]' placeholder='question' value='question 1' class='form-control name_list' /> </td> </tr> </table> <button type='button' name='add' id='add1' class='btn btn-success'>Add More</button> </div> </form> <form name='add_answer2' id='add_answer2'> <div class='table-responsive'> <table class='table table-bordered' id='dynamic_field2'> <tr> <label>question 2</label> <td> <input type='text' name='answer[]' placeholder='Enter your Answer' value='answer 2' class='form-control name_list' /> <input type='hidden' name='id[]' placeholder='id 2' value='id 2' class='form-control name_list' /> <input type='hidden' name='dg_no[]' placeholder='dg_no 2' value='dg_no 2' class='form-control name_list' /> <input type='hidden' name='code_no[]' placeholder='code_no 2' value='code_no 2' class='form-control name_list' /> <input type='hidden' name='question[]' placeholder='question 2' value='question 2' class='form-control name_list' /> </td> </tr> </table> <button type='button' name='add' id='add2' class='btn btn-success'>Add More</button> </div> </form> <form name='add_answer3' id='add_answer3'> <div class='table-responsive'> <table class='table table-bordered' id='dynamic_field3'> <tr> <label>question 3</label> <td> <input type='text' name='answer[]' placeholder='Enter your Answer' value='answer 3' class='form-control name_list' /> <input type='hidden' name='id[]' placeholder='id 3' value='id 3' class='form-control name_list' /> <input type='hidden' name='dg_no[]' placeholder='dg_no 3' value='dg_no 3' class='form-control name_list' /> <input type='hidden' name='code_no[]' placeholder='code_no 3' value='code_no 3' class='form-control name_list' /> <input type='hidden' name='question[]' placeholder='question 3' value='question 3' class='form-control name_list' /> </td> </tr> </table> <button type='button' name='add' id='add3' class='btn btn-success'>Add More</button> </div> </form> <form name='add_answer4' id='add_answer4'> <div class='table-responsive'> <table class='table table-bordered' id='dynamic_field4'> <tr> <label>question 4</label> <td> <input type='text' name='answer[]' placeholder='Enter your Answer' value='answer 4' class='form-control name_list' /> <input type='hidden' name='id[]' placeholder='id 4' value='id 4' class='form-control name_list' /> <input type='hidden' name='dg_no[]' placeholder='dg_no 4' value='dg_no 4' class='form-control name_list' /> <input type='hidden' name='code_no[]' placeholder='code_no 4' value='code_no 4' class='form-control name_list' /> <input type='hidden' name='question[]' placeholder='question 4' value='question 4' class='form-control name_list' /> </td> </tr> </table> <button type='button' name='add' id='add4' class='btn btn-success'>Add More</button> </div> </form> </body> </html>
0
ответ дан RamRaider 17 January 2019 в 07:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: