2014-02-14 75 views
0

我有一個窗體,其中onsubmit調用Controller函數,這導致將數據保存在數據庫中。在同一個按鈕上,我需要調用一個Javascript函數。該功能單獨工作,但與控制器,它不owrk。控制器和javascript函數不能一起工作

<!DOCTYPE html> 
<!-- 
To change this license header, choose License Headers in Project Properties. 
To change this template file, choose Tools | Templates 
and open the template in the editor. 
--> 
<html> 
    <head> 
     <title>Content</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     <!-- Bootstrap --> 
     <link href="<?php echo base_url(); ?>stylesheets/bootstrap.min.css" rel="stylesheet" type="text/css"> 
     <link href="<?php echo base_url(); ?>stylesheets/bootstrap.css" rel="stylesheet" type="text/css"> 
     <link href="<?php echo base_url(); ?>stylesheets/bootstrap-theme.min.css" rel="stylesheet" type="text/css"> 
     <link href="<?php echo base_url(); ?>stylesheets/bootstrap-theme.css" rel="stylesheet" type="text/css"> 
     <script type="text/javascript"> 
      function addinfo() 
      { 
       //Create an input type dynamically. 
       element = document.createElement("button"); 
       element.className='btn btn-default'; 
       var t=document.createTextNode("Edit"); 
       element.appendChild(t); 
       element.id=t; 
       //var account=document.getElementById('newaccname').value; 

       var foo = document.getElementById("acc"); 
//    //Append the element in page (in span). 
       foo.appendChild(element); 
//     var d = document.getElementById('acc'); 
//     d.appendChild(i); 
      } 
     </script> 
    </head> 

    <body> 
     <?php 
     echo form_open(base_url() . 'index.php/accounts_controller/addAccount ', array('name' => 'myform')); 
     ?> 
     <div id='boxed'> 
      <button type="button" name="addaccount" id="addaccount" class="btn btn-default" data-toggle="modal" data-target="#myModalacc">Add Account</button> 
     </div> 
     <!-- Modal --> 
     <div class="modal fade" id="myModalacc" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
      <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
         <h4 class="modal-title" id="myModalLabel">Add Account</h4> 
        </div> 
        <div class="modal-body"> 
         <h5>New Account:</h5> 
         <input type="text" name="newacc" id="group" placeholder="Account"> 
         <h5>Account Name:</h5> 
         <input type="text" name="newaccname" id="group" placeholder="Account Name"> 
         <h5>Account Type:</h5> 
         <select id='acc' name='acc'> 
          <option value='Facebook'>Facebook</option> 
          <option value='Twitter'>Twitter</option> 
          <option value='Google+'>Google+</option> 
          <option value='LinkedIn'>LinkedIn</option> 
          <option value='Instagram'>Instagram</option> 
          <option value='Pinterest'>Pinterest</option> 
         </select> 
        </div> 
        <div class="modal-footer"> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
         <!--      <button type="submit" name="addgroup" class="btn btn-primary" id="add" data-dismiss="modal">Add</button>--> 
         <button type="submit" name="addaccount" class="btn btn-default" onclick="addinfo()"/>Add 
        </div> 
       </div><!-- /.modal-content --> 
      </div><!-- /.modal-dialog --> 
     </div><!-- /.modal --> 
     <div id="acc" style="width:500px;height:100px;border:1px solid #000;"></div> 
     <?php 
     echo form_close(); 
     ?> 
     <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
     <script src="https://code.jquery.com/jquery.js"></script> 
     <!-- Include all compiled plugins (below), or include individual files as needed --> 
     <script src="<?php echo base_url(); ?>javascripts/bootstrap.min.js"></script> 
     <script src="<?php echo base_url(); ?>javascripts/bootstrap.js"></script> 
    </body> 
</html> 
+2

提供您的代碼示例。 – ripa

+0

當你點擊按鈕 –

+0

什麼是你的控制器文件夾結構?你的控制器的名稱是什麼? – ripa

回答

0

定義形式和

可以添加在你的形式(的onsubmit =返回false)

之前ü提交表單U可以運行在視圖本身頁您的JavaScript功能

+0

但是我聽說form_open()和form標籤都不應該被使用。 – upjc

+0

不使用form_open的,使用正常形式的行動,身份證和這onsubmit ,,,它會工作 –

+0

它不工作。 – upjc

0

我不認爲你的代碼不好,但你的做法。

如果你想在提交表單之後做一些javascript,使用AJAX,那裏沒有其他選項,可能是iframe中的一個表單,我在答案結尾提到的那個或者一些神祕的技巧,但是你有該工具做正確的事:JS框架jQuery的,使用了強大的服務器端語言(PHP)建立了一個MVC框架,以便再次,使用AJAX

應該像幾十個問題/答案< < OK也許不是那麼多>>關於在StackOverflow中使用AJAX(少用codeigniter)提交表單(我將在一天中更新這個答案和鏈接)。

Learning how to use AJAX with CodeIgniter

CodeIgniter Ajax form - submitting form

I try to submit form by jQuery ajax() in Codeigniter ... but nothing happen ...:(

codeigniter and ajax contact form

既然你已經加載了jQuery,使用jQuery的AJAX調用。

確實存在的機會使用「document.referrer」要知道,如果你頁面是由你的控制器中加載,然後執行你$(document).ready() JS,我還沒有試過,但即使它的工作原理不使用它。

相關問題