[英]Get the return URL from a JavaScript function and send it as a parameter to the action
我有一個 JavaScript 文件: informacoesImportantes.js
,其中我有一個函數可以生成 Whatsapp 的目標 URL。
您需要獲取 URL 並將其作為參數傳遞給qrCode.do
操作,但顯然它甚至在生成鏈接之前就調用了qrCode
,因為它始終為空,但是當您打開瀏覽器控制台並打印變量時,鏈接在那里。
我正在嘗試向Action
發送一個參數,但該參數來自一個 JavaScript 函數。 我用<c:set>
嘗試了幾種方法,甚至直接在src
的參數之后直接調用:javascript
,但沒有成功。
informacoesImportantes.js
:
function gerarUrlWhatsapp(especialidade,data,hora,medico,unidadeMedica,enderecoCompleto) {
var texto = "Seguem dados de confirma\u00e7\u00e3o do agendamento: "+"\n"+
" Especialidade: "+especialidade+"\n"+
" Data: "+data+"\n"+
" Hora: "+hora+"\n"+
" M\u00e9dico: "+medico+"\n"+
" Unidade "+unidadeMedica+"\n"+
" Endere\u00e7o: "+enderecoCompleto + "\n"+
" Informa\u00e7\u00f5es importantes:" + "\n";
return "https://wa.me/?text=" + texto;
}
agendamentoDetalhe.jsp
:
<div class="col-sm-3 gnm-container-qrcode">
<script>
var urlWhats = gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');
</script>
<c:set var="qrCodeUrlWhatsapp" value="${urlWhats}" />
<img src="../qrCode.do?qrCodeUrlWhatsapp=javascript:gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');"/>
<p>${urlWhats}</p>
</div>
struts.xml
:
<action name="qrCode" class="**" method="qrCode">
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">qrCodeImage</param>
<param name="bufferSize">4096</param>
</result>
</action>
AgendamentoAction.java
:
public String qrCode() {
qrCodeImage = generateQrCodeImpl.createQrCode(accessToken, qrCodeUrlWhatsapp);
}
您不能在<img src=
調用 JavaScript 函數。 但是您可以修改src
屬性的值。 如果向<img>
標簽添加id
屬性,則可以使用 JavaScript 從document
獲取此元素,並在調用自定義函數后修改src
屬性。
下面的腳本應該在 JSP 文件中,因此在呈現文檔之前已經評估了 EL 表達式。
<img id="qrCodeId" src="#">
<script>
var urlWhats = gerarUrlWhatsapp('${ agendamento.especialidade.dsEspecialidade}','${dateParts[0]}','${dateParts[1]}','${agendamento.nomePrestador}','${agendamento.unidadeMedica.nome}','${agendamento.unidadeMedica.enderecoCompleto}');
document.getElementById("qrCodeId").src="../qrCode.do?qrCodeUrlWhatsapp="+encodeURIComponent(urlWhats);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.