Nieuw lid |
|
Voor het control panel van mijn website heb ik gekozen voor de opmaak van mijn teksten gekozen voor CKeditor http://ckeditor.com/air classic bw. Echter sinds ik de editor in de pagina heb staan submit het formulier pas na de tweede button klik. Wat ik ook probeer bij de eerste button klik gebeurt er niets. Ik heb ckeditor in de head sectie van de pagina:
<script type="text/javascript" src="/../js/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/../js/ckeditor/ckeditor.js"></script>
Formulier:
<section id="content">
<form action="/admin/pagina/update_pagina_content" method="post" name="wijzig_content_form" id="wijzig_content_form">
<input name="pagina_naam" id="pagina_naam" type="hidden" value="<?php echo $pagina_content['pagina_naam']; ?>">
<h2><?php echo $heading; ?></h2>
<p>Gebruik het onderstaande formulier om de content voor de pagina <strong><?php echo $pagina_content['pagina_naam']; ?></strong> te wijzigen.</p>
<br>
<fieldset>
<label>Pagina titel</label>
<input name="pagina_titel" type="text" class="textfield" id="pagina_titel" value="<?php echo $pagina_content['pagina_titel']; ?>" tabindex="1" required>
</fieldset>
<fieldset>
<label>Pagina content</label>
<textarea name="pagina_content" id="pagina_content">
<?php echo $pagina_content['pagina_content']; ?>
</textarea>
</fieldset>
<br><br>
<fieldset>
<input name="update_button" type="submit" class="form_button" value="Wijzigingen opslaan">
</fieldset>
</form>
</section>
<script>
$(document).ready(function () {
CKEDITOR.replace( 'pagina_content' );
});
</script>
<section id="content"> <form action="/admin/pagina/update_pagina_content" method="post" name="wijzig_content_form" id="wijzig_content_form"> <input name="pagina_naam" id="pagina_naam" type="hidden" value=" <?php echo $pagina_content['pagina_naam']; ?>"> <h2> <?php echo $heading; ?></h2> <p>Gebruik het onderstaande formulier om de content voor de pagina <strong> <?php echo $pagina_content['pagina_naam']; ?></strong> te wijzigen.</p> <br> <fieldset> <label>Pagina titel</label> <input name="pagina_titel" type="text" class="textfield" id="pagina_titel" value=" <?php echo $pagina_content['pagina_titel']; ?>" tabindex="1" required> </fieldset> <fieldset> <label>Pagina content</label> <textarea name="pagina_content" id="pagina_content"> <?php echo $pagina_content['pagina_content']; ?> </textarea> </fieldset> <br><br> <fieldset> <input name="update_button" type="submit" class="form_button" value="Wijzigingen opslaan"> </fieldset> </form> </section> <script> $(document).ready(function () { CKEDITOR.replace( 'pagina_content' ); }); </script>
Javascript
$("#wijzig_content_form").on("submit", function(e) {
e.preventDefault();
var pagina_naam = $("#pagina_naam").val(),
pagina_titel = $("#pagina_titel").val(),
pagina_content = $("#pagina_content").val();
var dataString = 'pagina_naam=' + pagina_naam + '&pagina_titel=' + pagina_titel + '&pagina_content=' + pagina_content;
$.ajax({
url : "/admin/pagina/update_pagina_content",
type : "post",
data : dataString,
success: function(data){
}
});
});
$("#wijzig_content_form").on("submit", function(e) { e.preventDefault(); var pagina_naam = $("#pagina_naam").val(), pagina_titel = $("#pagina_titel").val(), pagina_content = $("#pagina_content").val(); var dataString = 'pagina_naam=' + pagina_naam + '&pagina_titel=' + pagina_titel + '&pagina_content=' + pagina_content; $.ajax({ url : "/admin/pagina/update_pagina_content", type : "post", data : dataString, success: function(data){ } }); });
PHP Controller
<?php
public function update_pagina_contentAction()
{
$pagina_titel = filter_input(INPUT_POST, 'pagina_titel', FILTER_SANITIZE_STRING);
$pagina_content = filter_input(INPUT_POST, 'pagina_content', FILTER_UNSAFE_RAW);
$pagina_naam = filter_input(INPUT_POST, 'pagina_naam', FILTER_SANITIZE_STRING);
$update = $this->page->update_pagina_content($pagina_titel,$pagina_content,$pagina_naam);
$content_succes = new View('/admin/pagina_content_succes.php', compact('pagina_naam'));
echo $content_succes->render();
}
?>
<?php public function update_pagina_contentAction() { $pagina_titel = filter_input(INPUT_POST, 'pagina_titel', FILTER_SANITIZE_STRING); $pagina_content = filter_input(INPUT_POST, 'pagina_content', FILTER_UNSAFE_RAW); $pagina_naam = filter_input(INPUT_POST, 'pagina_naam', FILTER_SANITIZE_STRING); $update = $this->page->update_pagina_content($pagina_titel,$pagina_content,$pagina_naam); $content_succes = new View ('/admin/pagina_content_succes.php', compact('pagina_naam')); echo $content_succes->render(); } ?>
Volgens mij is dit gewoon allemaal goed, maar zoals gezegd submit het formulier pas na de tweede button klik. Alleen als ik het Ajax gedeelte oversla dus rechtstreeks via het formulier naar de Controller ga werkt het goed. Wat kan hiervan de reden zijn?
mod edit: codetags
|