我正在尝试获取文本字段的值并使用 Ti.App.fireEvent (http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.App )将其传递到新窗口(Javascript 文件) -method-fireEvent),以便我最终可以在按下按钮时将其插入数据库......到目前为止,我有一个变量来存储名为 usernameValue 的文本字段的值。然后这将被发送到一个 http 参数值。必须有一些我想念的简单的东西。让我知道是否需要更多信息才能使这个问题更清楚。
数据最初来自的 TexField:
var username = Titanium.UI.createTextField({
//color : '#ffffff',
top : 10,
width : 300,
height : 45,
hintText : 'Username',
keyboardType : Titanium.UI.KEYBOARD_DEFAULT,
returnKeyType : Titanium.UI.RETURNKEY_DEFAULT,
borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
clearButtonMode: Titanium.UI.INPUT_BUTTONMODE_ONFOCUS
});
从 login.js 传递的需求:
//FireEvent parameter passing!
var usernameValue = username.value;
Ti.App.addEventListener('sendDataToScreen', function()
{
Ti.App.fireEvent('app:populateUsername', usernameValue);
});
IM.js 检索:
//FireEvent Paremeter Passing!
Ti.App.fireEvent('app:populateUsername', usernameValue);
新窗口(以防万一):
//if logged in, open new window!
var IM = Ti.UI.createWindow({
url : 'IM.js',
navBarHidden : false,
// fullscreen:false
});
IM.open();
使用的按钮参数传递:
//posting of IM onclick to database!!
postBtn.addEventListener('click', function(e) {
if (chatBox.value != '') {
createReq.open("POST", "http://***.php");
var params = {
post : chatBox.value,
user : _data.username
};
createReq.send(params);
//tap to repload and clear
var rd = [];
tableview.data = rd;
setData();
} else {
var blankAlert = Titanium.UI.createAlertDialog({
title : 'Posting Error',
message : 'Post cannot be empty',
buttonNames : ['OK']
});
blankAlert.show();
}
});