2017-05-27 7 views
0

Auf meiner Website. Ich habe Probleme mit JQuery. Ich bin kein Experte hier, also bitte verstehen.JQuery laden Problem beim Senden

Hier ist es das Skript, das ich benutze es tatsächlich funktioniert, aber sobald Sie auf das Senden btn .. sogar haben Sie eine unvollständige Informationen in der Form der Lader noch Verarbeitung anzeigen. Sogar das my board sagt: bitte vervollständige dein ..., noch läuft das Lade-gif.

Das Script:

<script src="//code.jquery.com/jquery-1.10.2.min.js"></script> 
<script> 
$(document).on("click", ".show-page-loading-msg", function() { 
    var $this = $(this), 
    theme = $this.jqmData("theme") || $.mobile.loader.prototype.options.theme, 
    msgText = $this.jqmData("msgtext") || $.mobile.loader.prototype.options.text, 
    textVisible = $this.jqmData("textvisible") || $.mobile.loader.prototype.options.textVisible, 
    textonly = !!$this.jqmData("textonly"); 
    html = $this.jqmData("html") || ""; 
$.mobile.loading('show', { 
    text: msgText, 
    textVisible: textVisible, 
    theme: theme, 
    textonly: textonly, 
    html: html 
    }); 
}) 
.on("click", ".hide-page-loading-msg", function() { 
    $.mobile.loading("hide"); 
}); 
</script> 

Mein PHP-Code: (Dies ist nicht vollständig Ich möchte nur den Endteil teilen)

<div class="form-group"> 
        <div class="col-md-5 col-sm-8 col-xs-8"> 
         <?if (Core::config('general.recaptcha_active')):?> 
          <?=Captcha::recaptcha_display()?> 
          <div id="recaptcha3"></div> 
         <?else:?> 
          <?= FORM::label('captcha', _e('Captcha'), array('for'=>'captcha'))?> 
          <span id="helpBlock" class="help-block"><?=captcha::image_tag('publish_new')?></span> 
          <?= FORM::input('captcha', "", array('class' => 'form-control', 'id' => 'captcha', 'required', 'data-error' => __('Captcha is not correct')))?> 
         <?endif?> 
        </div> 
       </div> 
      <?endif?> 
      <div class="control-group"> 
       <div class="controls"> 
         <?= FORM::button('submit', __('<i class="glyphicon glyphicon-send"></i>&nbsp; Publish New Ad'), array('type'=>'submit', 'data-corners'=>'false', 'class'=>'pub-new show-page-loading-msg', 'data-theme'=>'b', 'data-textonly'=>'false', 'data-msgtext'=>'Processing....', 'data-textvisible'=>'true', 'action'=>Route::url('post_new',array('controller'=>'new','action'=>'index'))))> 
       </div> 
      </div> 
     </fieldset> 
    <?= FORM::close()?> 

mehr wissen Bitte teilen Sie hier gehen, aber Sie müssen Sie mobile verwenden, um zu sehen: https://linkinads.com/publish-new.html oder hier in Youtube für Video: https://www.youtube.com/watch?v=dKzabE2eJN0

Antwort

0

Ihre Schaltfläche ist ein Absenden-Taste. Diese Schaltfläche löst ein Ereignis aus, um das Formular nativ in HTML zu verarbeiten.

In Ihrem Javascript, anstatt Ihren Code an das click -Ereignis für die Klasse der Schaltfläche zu binden, sollten Sie stattdessen an das Submit-Ereignis des Formulars binden (das an die Schaltfläche und das Formular als Ganzes gebunden ist) und dann die Standard-Übermittlungsaktion blockieren. So etwas wie das Folgende.

$('#publish-new').submit(function(event) { 
    event.preventDefault(); //Prevents the default form event from firing 
    //Rest of your code can go here 
}); 
+0

meinen Sie so: https://codepen.io/DonPramis-dubai/pen/WjBbZY –

+0

oder ich muss den Anfang der Form hier bearbeiten '<= FORM :: öffnen (Route :: url ('post_new' , array ('controller' => 'neu', 'aktion' => 'index'), array ('class' => 'form-horizontal', 'enctype' => 'multipart/form-data', ' data-ajax '=>' false '))> ' –

+0

Bitte zeigen Sie mir hier bitte keinen Experten. Vielen Dank –

1

obwohl ich weiß nicht, die reale hier ausgestellt, aber nachdem ich diese bewegen, werden die Dinge

'data-ajax'=>'false'

mein Problem lösen fixiert.