[英]How to send a html table (created by JavaScript dynamically) to PHP page?
[英]Send info via javascript to dynamically created html page
您好,非常聰明的人,請問您需要幫助嗎?
我正在使用Articulate Storyline創建一個電子學習課程,需要捕獲用戶輸入的信息,並將其從該課程發送到他們可以打印的html頁面。
我已經找到了如何從課程中獲取信息的方法-但是我遇到了URL長度問題(或者至少我認為這是問題所在!)
這是我正在使用的javascript:
var player = window.top.GetPlayer();
var header = "Title~~"
var args =(
"Question 1:~~" +
player.GetVar("Q1") +
"~~Question 2:~~" +
player.GetVar("Q2") +
"~~Question 3:~~" +
player.GetVar("Q3") +
"~~Question 4:~~" +
player.GetVar("Q4") +
"~~Question 5:~~" +
player.GetVar("Q5") +
"~~Question 6:~~" +
player.GetVar("Q6") +
"~~Question 7:~~" +
player.GetVar("Q7") +
"~~Question 8:~~" +
player.GetVar("Q8") +
"~~Question 9:~~" +
player.GetVar("Q9")
)
var url = ("print.html?=" + header + args);
window.top.open(url,"_blank","width=800,height=600,menubar=no");
只要我輸入簡短的答案,它就可以正常工作-但是,如果我嘗試為每個問題輸入1000個以上的字符,它將中斷並且什么也不會發生。
關於解決此問題的不同方法的想法?
謝謝你的好人。
提交大於K的數據時,必須使用POST而不是GET, 例如,提交一個具有METHOD =“ POST”而不是window.open 的表單 。 這意味着您需要將print.html更改為服務器進程,而不僅僅是html,因為您無法發布到.html頁面
但是,在查看了特定問題之后,您可以將代碼更改為此:
window.open("print.html","_blank","width=800,height=600,menubar=no");
並在print.html中進行更改
var url = window.location.href.split('?=');
var urlData = url[1];
var printVars = urlData.split('~~');
至
var player = opener.top.GetPlayer();
var printVars = ["Title"];
for (var i=1;i<=9;i++) {
printVars.push("Question "+i+":")
printVars.push(player.GetVar("Q"+i));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.