如何将 html id 和名称作为参数传递给 dojo javascript 模块?
Posted
技术标签:
【中文标题】如何将 html id 和名称作为参数传递给 dojo javascript 模块?【英文标题】:How do I pass html ids and names to a dojo javascript module as parameters? 【发布时间】:2020-05-14 21:02:16 【问题描述】:我相信我正在使用 dojo
我的 JS 模块的顶部使用了这些声明:
dojo.provide("com.kmbs.portlet.itsform.broadcastemailRequest"); dojo.require("com.kmbs.portal.core");
我一直在寻找有关如何将 html id 和 name 属性从 JSP 传递给模块的文档。 JSP 上有一个表单,并且有几个输入字段会根据用户输入动态(通过 JS)更改。
例子:
我有这个 html:
<input id="$nsverifyurlflag" type="hidden" name="verifyurlflag" value="0">
我想在模块中使用这个JS(需要转换成模块格式,我知道。)
function VerifyUrl()
var emailUrl = document.getElementById("$nsemailUrl").value;
if(emailUrl)
// Set to True (1)
$('#$nsverifyurlflag').val("1");
window.open( emailUrl, '_blank', 'toolbar=no,scrollbars=yes,menubar=yes,location=no,resizable=yes,height=500,width=700,top=100');
其中 $ns 是用于自动命名空间前缀的 JSTL。
请指教。谢谢。
编辑:
目前在 JSP 中使用 JS 调用 VerifyUrl 是这样的:
<button class="btn" onclick="VerifyUrl()" id="$nsverifyUrlBtn" disabled>Verify URL</button>
【问题讨论】:
那么您需要一种方法来访问函数中动态创建的元素吗?你能添加更多的html代码吗?还有VerifyUrl()
怎么称呼?
@Swati - 不完全是,我想要一种将 html 属性动态传递给 javascript dojo 模块的方法。例如将输入 id 值传递给它,这样我就不需要在模块本身中对其进行硬编码。
【参考方案1】:
我不知道我是否正确理解了您的问题,但是您可以在点击VerifyUrl()
时直接将ns
的值作为参数传递。所以,您的按钮如下所示:
<button class="btn" onclick="VerifyUrl('$ns')" id="$nsverifyUrlBtn" disabled>Verify URL</button>
演示代码:
//value parameter passed in function will have $ns value
function VerifyUrl(value)
var emailUrl = document.getElementById(value + "emailUrl").value;
if (emailUrl != null)
// Set to True (1)
$('#' + value + 'verifyurlflag').val("1");
window.open(emailUrl, '_blank', 'toolbar=no,scrollbars=yes,menubar=yes,location=no,resizable=yes,height=500,width=700,top=100');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="aemailUrl" type="text" name="emailUrl" value="https://www.google.com/">
<input id="averifyurlflag" type="text" name="verifyurlflag" value="0">
<!--pass in function $ns i.e : VerifyUrl('$ns')-->
<button class="btn" onclick="VerifyUrl('a')" id="$nsverifyUrlBtn">Verify URL</button>
【讨论】:
以上是关于如何将 html id 和名称作为参数传递给 dojo javascript 模块?的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter - 如何将 JSON 作为参数传递给视图 [重复]