2013-02-26 57 views
0

我希望发送多瓦尔还有老派的Flash开发者在这里嘿嘿如何通过POST AS2

所以我有一个简单的Flash电影2名的下拉列表中,第一个学校项目和2的状态。

我想程序和国家串连到一个网址,如下所示: http://operationmilitaryed.com/search.php?state=AL&interest=Bachelor%27s

我的问题是,我得到这样一个URL:

http://operationmilitaryed.com/search.php?changeListener=%5Bobject+Object%5D&the_path=http%3A%2F%2Foperationmilitaryed%2Ecom%2Fsearch%2Ephp&program=Criminal+Justice&us_state=&onLoad=%5Btype+Function%5D

有添加到URL中的额外信息太多了。

这里是通向我的Flash文件(我会链接到测试页面,但由于某些原因的下拉菜单不工作在我的浏览器的权利,可能不同的错误) http://leongaban.com/_stack/flash/as2/combobox/source.zip


下面是我当前的Flash AS2代码:

import com.mosesSupposes.fuse.*; 
ZigoEngine.simpleSetup(Shortcuts,PennerEasing); 

Stage.scaleMode = "noScale"; 
Stage.align = "TL"; 

var changeListener:Object = new Object; 
var changeListener2:Object = new Object; 

var program:String = ""; 
var us_state:String = ""; 

attachMovie("comboBox", "combo1", 1); 
combo1._x = 6; 
combo1._y = 6; 

attachMovie("comboBox", "combo3", 3); 
combo3._x = 150; 
combo3._y = 6; 

onLoad = function() 
{ 
combo1.initComboBox("xml/combo2.xml"); 
combo1.addEventListener("changed",changeListener); 

combo3.initComboBox("xml/combo3.xml"); 
combo3.addEventListener("changed",changeListener2); 

changeListener.changed = function(evtObj) 
{ 
    dataText1.text = evtObj.data; 
    program = evtObj.data; 
    trace("evtObj.data = "+evtObj.data); 
} 

changeListener2.changed = function(evtObj) 
{ 
    dataText2.text = evtObj.data; 
    us_state = evtObj.data; 
    trace("evtObj.data = "+evtObj.data); 
} 
} 

btn_submit.onRelease = function() { 
    var A = program; 
    var B = us_state; 
    getURL("http://operationmilitaryed.com/search.php", "_blank", "POST"); 
} 

回答

0

如果您需要将数据发送到脚本:

myVars = new LoadVars(); 
myVars.interest = program; 
myVars.state = us_state; 
myVars.send("http://operationmilitaryed.com/search.php", "POST"); 

您也可以使用。发送,.load,.sendAndLoad

参考:http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001161.html

如果你只是想用php打开URL,最后用连接:

myUrl = "http://operationmilitaryed.com/search.php?interest=" + program + "&state=" + us_state; 
getURL(myUrl, "_blank"); 

你也可以做出疯狂的事:

this.createEmptyMovieClip("dataMC", this.getNextHighestDepth()); 
dataMC.interest = program; 
dataMC.state = us_state; 
dataMC.getURL("http://operationmilitaryed.com/search.php", "_blank", "POST"); 
+0

我得到了这个工作!现在我的问题是组合框不显示在浏览器窗口:(必须是不同的bug ...谢谢 – 2013-02-26 17:05:12

+0

我看到2组合...在CS5.5中打开源代码,编译和所有好的 – Smolniy 2013-02-26 17:28:35

+0

哦,问题是当我在在线浏览器中查看它时,没有看到Chrome中的组合。而在Firefox上,变量不会附加到字符串:( – 2013-02-26 18:07:59

0

我可能是错的,但它好像四个变量你定义的最上面的路径,程序,状态和更改监听器是否导致大部分额外的发布信息?看起来好像你使用这些变量的方式,他们可以在他们使用的功能中定义,我相信这些功能可以消除这个问题。 让我知道

+0

并不这么认为,清理我的代码顺便说一句,但问题仍然存在......这个现在:( – 2013-02-26 16:18:58

+0

是像这样古老我解决这个问题,尝试和AS3方式现在,可能会最终删除这个问题 – 2013-02-26 16:29:54