Bonjour,
Je ne sais pas comment m'y prendre pour charger une vue en ajax.
J'ai une vue html : newHTML.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<fieldset>
  <legend>Ajout de pièce</legend>
  <div id="log"></div>
  <form class="form-horizontal" action="" method="POST" >
 
 
  	<div class="form-group">
  		<label class="col-sm-2 control-label">cde_id</label>
  		<div class="col-sm-10"><select name="cde_id" class="form-control" ><option  value="1">1</option><option  value="2">2</option></select></div>
  	</div>
 
  	<div class="form-group">
  		<label class="col-sm-2 control-label">p_id</label>
  		<div class="col-sm-10"><input type="text" name="p_id" value="" class="form-control" /></div>
  	</div>
 
  	<div class="form-group">
  		<label class="col-sm-2 control-label">qte</label>
  		<div class="col-sm-10"><input type="text" name="qte" value="" class="form-control" /></div>
  	</div>
 
 
 
  <input type="hidden" type="text" name="tokenAjax" value="1480723320####e606a7b5accd57aed054d2c7d862e7bc967c9a81" />
  <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
  		<input type="submit" class="btn btn-success" value="Ajouter" /> <a class="btn btn-link" href="index.php?:nav=mkCdeLignes::list">Annuler</a>
  	</div>
  </div>
 
  </form>
</fieldset>
J'ai prévu un emplacement dans ma vue _list.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<!-- emplacement pour les echanges -->
<div id = "dialogue" title = "Fenêtre">
<p></p>
</div>
Sans recharger la vue list, en jQuery, j'utilise la fonction suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
jQuery(document).ready(function($){
            // Là on peut utiliser $() en ayant la certitude que c'est jQuery, sans conflit possible  
            $(document).on("click", "#btn_ajout", function(evt) {
              alert("Vous avez sélectionné : " + $(this).text());
              evt.preventDefault(); // stop le comportement naturel
              $("#dialogue p").load("index.php?:nav=mkCdeLignes::newHTML");
 
            });
 
        });
Dans mon contrôleur main, j'ai la méthode suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public function _newHTML(){
 
    //$this->oLayout->setLayout	( 'ajxlayout'	) ; // changement de layout vide pour notre affichage
    //_root::setConfigVar('site.mode','prod'); // desactive la barre Debug
 
    $oView=new _view('mkCdeLignes::newHTML');
 
		//$oPluginXsrf=new plugin_xsrf();
		//$oView->token=$oPluginXsrf->getToken();
 
		$this->oLayout->add('main',$oView);
 
    // vue pour le script
		$oView=new _view('mkCdeLignes::ns');
		$this->oLayout->add('main',$oView);
    //echo "<h1>Heelo</h1>" ;
	}
Comment charger dynamiquement juste le bout de code html de la vue newHTML sans être obligé de placer ce bout de code dans un fichier html enregistré dans le répertoire /public/newHTML.html de mon site.
Cordialement