jQuery.get()出现奇怪问题
Strange issue with jQuery.get()
我对这个代码有一个奇怪的行为:
<script type="text/javascript">
function get()
{
alert("gggg");
jQuery.get (
"http://localhost:8080/c/portal/json_service",
{
serviceClassName: "com.liferay.test.service.TrabajadorServiceUtil",
serviceMethodName: "findByName",
servletContextName: "TrabajadorPlugin-portlet",
serviceParameters: "[param]",
param : document.getElementById("nombre")
}
);
}
</script>
<div>
<form>
<input type="text" id="nombre" value="<%=searching%>"/>
<input type="button" value="Submit" onClick="javascript:get()"/>
</form>
</div>
按下"提交"按钮时,Liferay门户会被阻止。弹出窗口显示消息"gggg",但单击"确定"后,页面被阻止。
如果我删除行"param:document.getElementById("nombre")",它不会阻塞。
有人能解释一下错误在哪里,或者这种行为的原因吗?
提前感谢
Rafa
问题是,您试图传递整个DOM元素作为param
的值,而jQuery不会喜欢。哪种类型的元素具有ID nombre
,您希望该元素具有什么属性?如果是某种类型的输入,您可能想要value
属性,所以您应该这样做:
param : document.getElementById("nombre").value
更新的答案:
仔细想想,你可能应该用一种完全不同的方式来做这件事。当用户点击提交按钮时,您将发送数据,但请记住,如果用户在输入文本框中键入时点击回车键,则表单将提交,但您的代码不会捕捉到这一点。
一个更稳健的解决方案是这样做:
<div>
<form id="nombre_search">
<input type="text" id="nombre" value="<%=searching%>"/>
<input type="submit" value="Submit"/>
</form>
</div>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$("#nombre_search").submit(function(){
$.get("http://localhost:8080/c/portal/json_service", {
serviceClassName: "com.liferay.test.service.TrabajadorServiceUtil",
serviceMethodName: "findByName",
servletContextName: "TrabajadorPlugin-portlet",
serviceParameters: "[param]",
param : $("#nombre").val()
});
return false;
});
});
</script>
更改代码:
- 向表单添加了一个id
- 将提交按钮设置为
submit
按钮,而不仅仅是button
按钮 - 将代码放置在
$(document).ready
块内 - 代码在提交
form
时运行,而不是在单击button
时运行
希望这能有所帮助,Sandro
相关文章:
- Phonegap camera.get上传图片时出现问题
- 在Node JS中发出GET请求的问题
- Angular2 奇怪的硬编码对象与 http.get 对象问题
- AngularJS:异步 $http.get 调用导致 View 出现问题
- 有关在 $.get() 中获取响应的问题
- 获取 get JSON 显示数组中的值时遇到问题
- jQuery.get()出现奇怪问题
- 使用Django设置jquery pjax时出现问题(未设置头,但添加了GET参数)
- 谷歌地图API v3-Ajax(Javascript+Jquery)GET问题
- 此HTTP Get-Basic身份验证代码有什么问题
- jquery get中的作用域问题
- 使用promise的节点异步GET请求出现问题
- 访问jquery get中函数的参数时遇到问题
- 解决本地主机上jQuery.get()返回null的问题
- Node.js get请求问题(异步问题?)
- 使用jQuery进行GET请求的问题
- Angular 2 - IE 11关于http get请求的问题
- 解决jquery get() url作为变量的问题
- JSON在WP中使用GET/POST方法(安全问题)
- 将.attr()与.get()一起使用问题