【问题标题】:Javascript function in anchor() not working properly in Codeigniteranchor() 中的 Javascript 函数在 Codeigniter 中无法正常工作
【发布时间】:2014-03-05 13:52:43
【问题描述】:

我在 codeigniter 中有一个页面 settings.php,其控制器是 member.php。我在 settings.php 中有一个链接“电影设置”,点击它我想显示一个 div 并隐藏另一个 div。

在settings.php中,我有这一行:

<?php echo anchor('member/settings', 'Movie Settings', array('onClick' => "moviesetting()"));

settings.php

<div class="mainsettingdiv">
    <div class="leftsettingdiv">
        Profile Settings
        <br>
        <?php echo anchor('member/settings', 'Movie Settings', array('onClick' => "moviesetting()"));

        ?>
    </div>

    <div class="rightsettingdiv" id="profilediv">
        <b>Profile Image Visibility</b> <br>
        <?php echo form_radio('imageset','1')?> Public 
        <?php echo form_radio('imageset','2')?> Friends Only
        <?php echo form_radio('imageset','3')?> Private

        <br><br>
        <b>Email Visibility</b> <br>
        <?php echo form_radio('emailset','1')?> Public 
        <?php echo form_radio('emailset','2')?> Friends Only
        <?php echo form_radio('emailset','3')?> Private

        <br><br>
        <b>Address Visibility</b> <br>
        <?php echo form_radio('addressset','1')?> Public 
        <?php echo form_radio('addressset','2')?> Friends Only
        <?php echo form_radio('addressset','3')?> Private

        <br><br>
        <b>Mobile Number Visibility</b> <br>
        <?php echo form_radio('mobileset','1')?> Public 
        <?php echo form_radio('mobileset','2')?> Friends Only
        <?php echo form_radio('mobileset','3')?> Private
        <br>

        <?php
        $js = 'onClick="saveprofilesetting('.$id.',\''.base_url().'\')"';
        echo form_button('save','Save',$js);?>
    </div>

    <div class="moviesettings" style="display:none" id="moviediv">

    </div>

</div>

还有我的javascript函数:

function moviesetting()
{ 
    $("#moviediv").show();
    $("#profilediv").hide();
}

但是当我使用anchor() 时,页面会在点击时重新加载。所以javascript函数似乎不起作用。如何从 anchor() 中删除 href 并使其正常工作?

我尝试在anchor() 中添加# 和javascript:void(0),但在这两种情况下它都会被重定向到索引页面。我不想重定向。谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

  • 你指定一个路由作为第一个参数(虽然这没关系,但你需要在你的javascript中防止默认)或者只使用'#'而不是路由'member/settings'跨度>

标签: php codeigniter


【解决方案1】:

在你的js函数中添加return false;以避免页面重新加载

function moviesetting()
{ 
    $("#moviediv").show();
    $("#profilediv").hide();
    return false;
}

【讨论】:

  • 你的意思是纯html?
  • 除了我的回答,你有没有做任何改变?
  • 不只是将 anchor() 替换为 电影设置
猜你喜欢
  • 2019-07-20
  • 2019-05-22
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
相关资源
最近更新 更多