1
我正在編寫R應用程序的登錄表單。除了1件事外,一切都很好:每次觸發一個keyup事件時,我都會用MD5加密密碼。到現在爲止,結果是正確的。當我點擊提交按鈕時,問題就會增加。我嘗試從R中的這個加密輸入中讀取文本,但是Shiny會讀取「」,也就是說,空字符串。我已經檢查過它,當然它不是空的。 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)
}
您可以使用'Shiny.onInputChange' javascript將密碼發送到後端。添加'Shiny.onInputChange(「encrypted_pass」,md5(...));'在您的js代碼中的某處,並通過'input $ encrypted_pass'訪問。 –