2013-02-19 83 views
1

我似乎错过了XPage的一些内容。我有一个按钮,它具有服务器端JS,它试图从文档上的2个现有字段获取值。我在表单中输入值,点击按钮时字段值为空。在XPages中的服务器端JavaScript中获取客户端字段值

var doc:NotesDocument = currentDocument.getDocument(); 
var email = doc.getItemValue("email"); 
_dump("Email: " + email); 
var password = doc.getItemValue("password"); 
_dump("Password: " + password); 

通过使用“_dump”命令,我可以看到log.nsf中的值为空。

当我使用客户端JS抢领域,它们填充 - 我可以在警示语句看到:

var doc = document; 
var email = doc.getElementById("#{id:email1}").value; 
alert(email); 
var password = doc.getElementById("#{id:password1}").value; 
alert(password); 

我试图在电子邮件和密码字段存在面板上的局部刷新,但这仍然没有帮助。

我是否必须先保存文档并再次获取文档以获取字段值?我必须在客户端JS中传递字段值,然后传入范围(我不认为这可以从客户端JS完成)?这可能是一个简单的解决方案,但我不知道为什么会发生这种情况。

谢谢!

回答

6

直接从数据源中检索值:

var email = currentDocument.getValue("email"); 
var password = currentDocument.getValue("password"); 
+4

+1,也需要你的时候抓住他们要小心。例如。如果验证失败,则值不会发回到文档,您必须遵循component.getsubmittedValue – stwissel 2013-02-20 05:56:33

+0

getSubmittedValue工作良好。我实际上使用了这个片段(http://openntf.org/XSnippets.nsf/snippet.xsp?id=getcomponentvalue),它拉动了字段值。我感谢所有的帮助 - 谢谢! – Dan 2013-02-20 15:47:26

相关问题