自动填充的输入未在Shiny

时间:2016-03-23 16:13:13

标签: javascript html r login shiny

我正在编写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)
}

1 个答案:

答案 0 :(得分:0)

感谢@warmoverflow,我可以按预期工作。

keyup事件就像这样结束了

$("#password").keyup(function(){
          Shiny.onInputChange("pass", md5($("#password").val()));
        });

单击按钮时,传递已加密并准备好读取。