CGI.new 不相容於 Window.Open ?


花了一點時間,再試了一下 Ruby 上的 CGI.new ..
在過程上又再發現了一點小問題,再研究下去,發現真的好像不支持?

測試代碼為以下的一個小程式,在按下登入後,無法以 POST[‘sk’] 取得資料(空白)
不知道原因為何,但將他改為 input hidden 的格式卻可以取得 go 這個值..
暫時找不到解決的方法,好像就只有在 form 時用 window.open 出現這問題 ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<form action="test.rb?sk=go" method="post" target="skchat3" onsubmit='window.open("","skchat3","resizable=yes,toolbar=no,directories=no,status=no,scrollbars=yes,resize=yes")'>
暱稱 : <input type="" />
姓名 : <input type="" />
密碼 : <input type="" />
<input type="submit" value="登入" />
</form>
</body>
</html>

Main Ruby :

1
2
3
4
5
6
7
8
9
10
#!C:/InstantRails/ruby/bin/ruby 

require 'cgi';

POST = CGI.new

print "Content-type: text/html\r\n\r\n"
print "This is a output test"
print "<br />"
print ">>"+POST['sk']