簡體   English   中英

將數據從jsp中的可編輯表傳遞到servlet

[英]pass data from an editable table in jsp to a servlet

我是JSP和servlet的新手。 我必須允許用戶在html表中鍵入一些問題,然后將輸入的數據傳遞給servlet。 問題數量可能會有所不同。 因此,我想將其作為列表或數組傳遞給servlet。 我不希望為每行都使用隱藏標記,因為當行是動態的時,這將很乏味。

有人可以建議一種有效的方法來傳遞表格列中輸入的所有問題嗎? 這是代碼段。

<body>
<form action="adminPageServlet" method="POST">
   <table class="table editabletable table-bordered table-condensed table-responsive"
                    border="1">
        <tr>
    <td><div contenteditable>Question1</div></td>
    </tr>

    <tr>
    <td><div contenteditable>Question2</div></td>
    </tr>

    </table>
<button class="btn btn-default" type="submit" id="loginBtn">Submit</button>
</form>
</body>

編輯:

非常感謝 。 我仍然無法將數據從函數傳遞到servlet。 能否請你幫忙? 我在這里不斷收到一條錯誤警報消息-其中textStatus:undefined和data:[Object object]。

jQuery.ajax({
                url:'adminPageServlet',
                data:{"key1":"value1","key2":"value2"},
                type:'POST',
                contentType:"application/json; charset=utf-8",
                dataType : 'json',  
                success:function(data, textStatus, jqXHR){
                    // access response data
                    alert("success");
                },
                error:function(data, textStatus, jqXHR){
                    console.log('Service call failed!');
                    alert("failed - data"+data+"textSTatus"+textStatus);
                }
            });

我嘗試使用將問題轉換為JSON字符串

var jsonString = JSON.stringify(questions);

並嘗試通過此。 不工作 能否請你幫忙?

當用戶按下提交按鈕時,在提交之前調用一個將所有問題放入數組的函數

var Question=new Array();

然后將該數組解析為JSON格式 解析后,然后發布請求。

像這樣 :

$.ajax({
                type: 'POST',
                url: '',
                contentType:"application/json; charset=utf-8",
                dataType:"json"
                data:  JSONData
                success: function(data){                       
                }   // Success Function
});

在服務器端讀取JSON。

請參考此stackoverflow

更新

function getQuestions(){
        var row  =$(".table tr")
        var questions=new Array();
        row.each(function(){
            var que = $(this).find("td div").html();
            console.log(que);
            Questions.push(que);

        }); 
        return questions;
    }
    function sentData()
    {
        var Questions=getQuestions();

        // your array to JSON Code

        $.ajax({
                type: 'POST',
                url: '',
                contentType:"application/json; charset=utf-8",
                dataType:"json"
                data:  JSONData
                success: function(data){                       
                }   // Success Function
        });     

    }

在HTML而不是提交按鈕寫這個

<button onClick="sendData()">Send</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM