ด้วยวิธี window.open ฉันเปิดไซต์ใหม่พร้อมพารามิเตอร์ซึ่งฉันต้องผ่านโดยวิธีการโพสต์ฉันพบวิธีแก้ปัญหา แต่น่าเสียดายที่มันไม่ได้ผล นี่คือรหัสของฉัน:
<script type="text/javascript">
function openWindowWithPost(url,name,keys,values)
{
var newWindow = window.open(url, name);
if (!newWindow) return false;
var html = "";
html += "<html><head></head><body><form id='formid' method='post' action='" + url +"'>";
if (keys && values && (keys.length == values.length))
for (var i=0; i < keys.length; i++)
html += "<input type='hidden' name='" + keys[i] + "' value='" + values[i] + "'/>";
html += "</form><script type='text/javascript'>document.getElementById(\"formid\").submit()</sc"+"ript></body></html>";
newWindow.document.write(html);
return newWindow;
}
</script>
ต่อไปฉันสร้างอาร์เรย์:
<script type="text/javascript">
var values= new Array("value1", "value2", "value3")
var keys= new Array("a","b","c")
</script>
และเรียกฟังก์ชันโดย:
<input id="Button1" type="button" value="Pass values" onclick="openWindowWithPost('test.asp','',keys,values)" />
แต่เมื่อฉันคลิกที่ปุ่มนี้ไซต์ test.asp ว่างเปล่า (แน่นอนฉันลองรับค่าผ่าน - Request.Form("b"))
ฉันจะแก้ปัญหานี้ได้อย่างไรทำไมฉันไม่สามารถรับค่าผ่านได้