如果使用<a>, Javascript不会向处理程序提交数据
javascript does not submit data to handler if using <a>
我试图使用以下脚本提交一些数据到c#处理程序,当用户点击一个链接
<script type="text/javascript">
function myfunc(clicked_id) {
var params = "{'orderid':'" + clicked_id + "'}";
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "Handler.ashx");
// for (var key in params) {
if (params.hasOwnProperty) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "orderid");
hiddenField.setAttribute("value", params);
form.appendChild(hiddenField);
alert(form.outerHTML.toString());
}
// }
document.body.appendChild(form);
form.submit();
//document.body.removeChild(form);
}
下面的工作正常,但由于某些原因链接不工作。
<label id="test" ><a href="" onclick="myfunc(this.id)" id="11677113">test</a> </label>
<input type="button" onclick="myfunc(this.id)" id="11677110" value="test" />
基本上,我想通过javascript调用一个方法来取消订单(尝试使用ajax,也没有工作)有人能帮忙吗?我使用的模板网站从VS2012在Razor v2
将此myfunc(this.id)
粘贴到href
属性中,如下所示:
<a href="javascript:myfunc(this.id)" id="11677113">test</a>
当前,空的href
属性取消了onclick
,因为点击它会使页面重新加载
href=""
很可能是指当前的URL,所以页面实际上正在卸载。您可以使用href="#"
或使用JavaScript绑定事件处理程序,并防止默认行为:
//so so
onclick="myfunc(this.id); return false;"
//best
document.getElementById('11677113').addEventListener('click', function (e) {
myfunc(this.id);
e.preventDefault();
});
锚标记必须具有href
值才能成为链接,否则它将变成书签。
在href
属性中添加一些内容,并在onclick
中添加return
,以便您可以停止标准操作:
<a href="#" onclick="return myfunc(this.id)" id="11677113">test</a>
停止标准动作,从myfunc
函数返回false
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 平均值.on(事件[,选择器][,数据],处理程序)
- getSript在同一对象上多次添加处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何让React JS点击处理程序在执行时更新DOM
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数