我正在编写R应用程序的登录表单。一切都很好,除了一件事:我每次触发keyup事件时都用MD5加密密码。到目前为止,结果是正确的。单击提交按钮时问题就出现了。我尝试从R中的这个加密输入中读取文本,但Shiny读取"" ,也就是说,空字符串。我已经检查了它,当然它不是空的。 Shiny从这个加密输入中读取任何内容的唯一方法是我手动输入内容。
如何在后端读取此密码?在我的Html,JS和R代码下面。
<div class="col-md-4">
<form role="form">
<div class="form-group">
<label for="user"> User (test) </label>
<input type="text" name="user" class="form-control shiny-bound-input" id="user" />
</div>
<div class="form-group">
<label for="password"> Password (test) </label>
<input type="password" name="password" class="form-control shiny-bound-input"
id="password"/>
<input type="password" name="pass" class="form-control shiny-bound-input"
id="pass" style="display:none;"/>
</div>
<button id="loginButton" type="button" class="btn btn-default action-button shiny-bound-input">Login</button>
</form>
</div>
$(function() {
$("#password").keyup(function(){
$("#pass").val(md5($("#password").val()));
});
});
if (input$loginButton > 0) {
Username <- isolate(input$user)
Password <- isolate(input$password)
print(Password)
}
答案 0 :(得分:0)
感谢@warmoverflow,我可以按预期工作。
keyup事件就像这样结束了
$("#password").keyup(function(){
Shiny.onInputChange("pass", md5($("#password").val()));
});
单击按钮时,传递已加密并准备好读取。