2016-07-21 8 views
0

Ich versuche, ein Formular über ein einfaches Modal mit einer Ja oder Nein-Schaltfläche zu senden. Wenn ich jedoch auf die Schaltfläche in der Ansicht klicke, wird die Ereignis-ID nicht aktualisiert und übergibt nur die erste Ereignis-ID. Ich gehe davon aus, dass ich die event_id, die an das modal übergeben wird, irgendwie aktualisieren muss; wie es scheint schon geladen zu sein. Wie gehe ich vor? Ich dachte vielleicht an eine Onclick-Funktion, die eventId setzt, aber ich bin neu im Coding und weiß nicht, wie ich vorgehen soll. Hoffentlich macht das Sinn.Codingiter-Formular mit Modal als Teilansicht schreiben, die keine korrekten Variablen übergibt

Hier ist mein Controller:

function skatersuccess(){ 
    if (!$this->ion_auth->is_admin()) 
    { 
     $this->session->set_flashdata('message', '<div class="alert alert-info" role="alert">You must be an admin to view this page</div>'); 
     redirect('/'); 
    } 

    $event_id = $this->input->post('event_id'); 
    $user_id = $this->input->post('user_id'); 

    $user_data = array(
      'id' => 'null', 
      'user_id' => $user_id, 
      'event_id' => $event_id, 
      'is_paid' => 1 
     ); 

    $this->user_event_model->registerskater($user_data); 
    redirect('/dashboard/','refresh'); 
    } 

Hier mein Modell ist:

public function registerskater($user_data) { 
     $this->load->database('hockey'); 
     $this->db->insert('users_events', $user_data); 
    } 

Hier ist die Hauptansicht Button-Code (das das Popup-modal lädt:

<?php if (($e->user_registered == 1)) : ?> 
    <?php $this->load->view('admin/partial/skater_cancel', $e) ?> 
    <?php elseif (($e->capacity == $e->registered)): ?> 
    <button type="button" class="btn btn-danger btn-block">FULL</button> 
    <?php else: ?> 
    <?php $this->load->view('admin/partial/skater', $e) ?> 
    <?php endif; ?> 

und hier ist die modale Popup-Ansicht:

<form action="dashboard/skatersuccess" name="" id="login-form" class="form-horizontal" enctype="multipart/form-data" method="POST"> 

    <button type="button" class="btn btn-primary btn-block" data-title="add_skater" data-toggle="modal" data-target="#add_skater" >SIGN UP AS SKATER</button> 

    <!--Pop Up Dialog--> 
    <div class="modal fade" id="delete" tabindex="-1" role="dialog" aria-labelledby="edit" 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"><span class="glyphicon glyphicon-remove" aria-hidden="true"> </span></button> 
    <h4 class="modal-title custom_align" id="Heading">Signup for Game?</h4> 
    </div> 
    <div class="modal-body"> 

    <div class="alert alert-danger"><span class="glyphicon glyphicon-warning-sign"></span>Are you sure you want to sign up for game?</div> 

    </div> 
    <div class="modal-footer "> 



    <button type="button" id="btnYES" href="#" name="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok-sign"></span> Yes</button> 

    <input id="event_id" type="hidden" class="form-control" name="event_id" value="<?php echo $id; ?>" placeholder="event_id"> 
     <input id="user_id" type="hidden" class="form-control" name="user_id" value="<?php echo $this->session->userdata('user_id'); ?>" placeholder="user_id"> 

    <button type="button" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> No</button> 
    </div> 
    </div> 
    <!-- /.modal-content --> 
    </div> 
    <!-- /.modal-dialog --> 
    </div> 


</form> 
+0

Da PHP geladen wird nur, wenn es nicht möglich ist, die Sitzungsdaten über Javascript zu bekommen. Wenn Sie den Wert einer Eingabe bei Klick auf die Schaltfläche bearbeiten möchten, ist dies mit dem Session-Wert einfach nicht möglich: '$ ('button.btn'). on ('click', function() {$ ('# event_id') .val (myvalue);}); ' –

+0

Entschuldigung, ich folge nicht, könntest du ein Beispiel zeigen? Werden Sitzungsdaten an eine Teilansicht übergeben? – XxnumbxX

Antwort

0

ich es mit diesem bekam,

<script> 
$(document).on("click", ".add_skater", function (e) { 

e.preventDefault(); 

var _self = $(this); 

var myEventId = _self.data('id'); 
$("#EventId").val(myEventId); 

$(_self.attr('href')).modal('show'); 
}); 
</script>