使用对话框提醒用户,并且在对话框上提供了一个可以让用户输入内容的文本框,这就是 notification.prompt 的功能 … 它跟 notification.confirm 差不多,只不过,在对话框上多出来一个文本框。
你可以根据用户输入的内容,还有点击按钮,去做一些指定的事情。 下面我们一起来看一下这个 notification.prompt …
先定义一个函数,可以叫它 showPrompt: function(){};
它的作用就是去显示一个提示的对话框 …. 这里我们要用的是 navigator.notification.prompt();
在它的里面,需要指定五个参数,在对话框上显示的内容,处理对话框的动作,对话框的标题,对话框的按钮,还有文本框里默认的文字 ….
先定义对话框上要显示的内容 … '请输入您的姓名',
然后是处理这个对话框动作的函数,就是在用户输入内容还有点击的按钮以后,根据这些内容要做的事情。 app.onPrompt,
一会在下面,我们再去定义这个 onPrompt ...
第三个参数是对话框的标题 … '注册',
然后是对话框上的按钮 … 我们可以在对话框上显示多个按钮,这些按钮要放在一个数组里面,先输入一组方括号,这里我们添加两个按钮,取消,还有确认 … ['取消,'确认']
这个按钮的顺序从 1 开始,也就是用户点击 取消这个按钮,在返回的结果里,按钮的顺序就是 1,确定按钮是 2 …
最后一个参数是文本框里默认的文字 … 默认这个默认的文字是 Default text … 这里我们设置成 '王二麻子'
完成以后,找一个地方去执行这个 showPrompt … 放在 deviceready 这个事件发生以后 … app.showPrompt();
onPrompt
下面我们需要再去定义 onPrompt 去处理接收到的用户输入的内容还有点击的按钮 …
// 点击提示对话框以后做的事情
onPrompt: function(results) {},
接收到的结果会放在 results 这个对象里面 … 这里把它作为 onPrompt 的一个参数 …
这个 results 里面有两个属性, buttonIndex 里面包含用户点击的按钮,input1 里面是用户在文本框里输入的具体的内容 …
访问这两个属性可以这样 … results.buttonIndex … 这个代码会输出用户点击的按钮 … 用户点击第一个按钮,它就会输出 1,点击第二个按钮,它就会是 2 ….
results.input1 … 这个代码会访问到用户在文本框里输入的内容 …. 你可以使用这些内容去做一些复杂的事情,不过这里,我们还是简单的把这些内容输出到控制台上来 …
console.log('用户点击了按钮:' + results.buttonIndex + ' 用户输入的姓名是:' + results.input1);
保存一下 …
测试
先打开 weinre 的控制台 … 然后打开终端重新去编译一下这个应用 … phonegap run ios
应用启用以后,会显示这个提示的对话框 … 在文本框里会显示默认的文字 … 用户可以输入自己的内容 … 王皓 …
然后点击按钮 …
在控制台上你会看到,会根据用户输入的内容,还有点击的按钮,输出一些内容。 用户点击了按钮 …