好的,我有一个这样的表格......
<form id="form" method="post" action="http://localhost/shopper/admin/index.php?route=system/template/update&token=19690a8b739af0d963f129b93b236f1d&template_id=22">
....
<span class="delete"><a href="#" class="delete_step" rel="1">Delete Step</a></span>
<tr>
<td><span class="required">*</span> Template Name:</td>
<td><input size="100" value="real" name="name"></td>
</tr>
....
<span class="delete"><a href="#" class="delete_step" rel="2">Delete Step</a></span>
<tr>
<td><span class="required">*</span> Template Name:</td>
<td><input size="100" value="real" name="name"></td>
</tr>
....
</form>
我需要它到有人点击“delete_step”锚标签,页面转到不同的位置,然后表单去的地方和rel标签中的数据....我在想这样的事情方法
$('.delete_step').live('click', function(e) {
var delete_location = window.location.pathname.replace('admin/', '');
window.href = delete_location + '?route=module/delete_step&template_number=<?php print $template_id; ?>&step_id=' + $(this).attr("rel");
});
问题是它总是到达这个位置
http://localhost/shopper/admin/#
我试过preventDefault但是没有任何反应......任何想法
答案 0 :(得分:2)
三件事。首先,您有一个javascript错误,因为防止默认操作无法解决您的问题。当您尝试引用href
对象的window
属性时,该错误。 window
对象没有此属性。只需设置location.href = ...
即可。其次,我会从点击处理程序返回false,因为您可能希望同时阻止默认操作和阻止点击传播到包含元素。第三,我不会使用GET请求执行删除操作。我将它包装在一个表格帖子中(也可以通过AJAX),以便用户不能将其加入书签并意外删除。
您可以通过查看Firefox / Firebug中的控制台确认第一个。
$('.delete_step').live('click', function(e) {
var delete_location = window.location.pathname.replace('admin/', '');
var data = 'route=module/delete_step&template_number=<?php print $template_id; ?>&step_id=' + $(this).attr("rel");
$.post( delete_location, data, function(result) {
// handle the result of doing the deletion
});
});
答案 1 :(得分:1)
window.href
应为window.location.href
。但我会说要从服务器代码重定向。