带有 AJAX 下拉菜单的代码点火器在form_validation失败并重定向/重新加载视图后不起作用
Codeigniter with AJAX dropdown menus not working after form_validation fails and redirects/re-loads view
一旦验证运行,就会失败,并继续重定向到相同的控制器索引。
if (!$this->form_validation->run())
{
$this->index();
}
该窗体是一个简单的两个下拉列表,一个依赖于另一个,但是一旦重新加载视图,第二个依赖下拉列表将停止工作。
这是 JS
$(document).ready(function()
{
$('#manufacturer_dropdown').change(function()
{
$("#sw_names > option").remove();
var id = $('#manufacturer_dropdown').val();
$.ajax({
type: "POST",
url: "software/get_software_names/"+id,
datatype : "JSON",
success: function(sw_names)
{
$.each(sw_names,function(id,software_name)
{
var opt = $('<option />');
opt.val(software_name);
opt.text(software_name);
$('#sw_names').append(opt);
});
}
});
});
});
如果我手动刷新页面,下拉菜单会再次工作。不确定发生了什么,也许文档就绪功能停止检查或其他什么。我不是JS专家...
如果需要,我可以发布更多代码。
编辑:我的JS网址缺少/
现在工作
如果你正在发出一个 ajax 请求,你必须给出一个 ajax 响应
您不能在这样的请求中间重定向页面。
我已经写了一些东西来解决这个问题,因为它是如此普遍。希望这会引导您前进:http://codebyjeff.com/blog/2013/04/how-do-i-use-ajax-with-framework-x
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid