2016-06-30 20 views
0

Ich habe eine benutzerdefinierte Google-Formular und Google Tabellenkalkulation als meine Datenbank verwendet. Wenn Sie jedoch auf die Schaltfläche "Senden" im Formular klicken, wird die gleiche Seite in einer neuen Registerkarte geöffnet, und die Textfelder der vorherigen Seite haben die Daten, die der Benutzer eingegeben hat.Benutzerdefinierte Google-Formular öffnet eine andere Registerkarte auf Senden

Der Code benutzerdefiniertes Formular ist:

<form action="" target="hidden_iframe" method="POST" id="mG61Hd" onsubmit="submitted=true;">  
<h5>Name</h5> 
<input type="text" id ="_name" name="name"> 
<h5>emailaddress</h5> 
<input type="text" id="_email" name="email"> 
<h5>message</h5> 
<textarea name="entry.839337160" id ="_message"></textarea> 
<button class="btn btn-lg btn-warning"  onclick="postContactToGoogle()">Send</button> 
</form> 

Der JavaScript-Code ist:

function postContactToGoogle() { 

    var name = $('#_name').val(); 

    var email = $('#_email').val(); 
    var message = $('#_message').val(); 

    validate(); 


     if(validate=true) 
    { 
     $.ajax({ 
      url: "https://docs.google.com/forms/d/1sKGYnZfwEC_3sQvsjjx57swxLxdHMHPBC89s5C72x5s/formResponse", 
      data: { "entry.2005620554": name, 
      "entry.1045781291": email, "entry.839337160": message }, 
      type: "POST", 
      dataType: "xml", 
      statusCode: { 
       0: function() { 
        swal("Heyy there","Thank You for your feedback!","success"); 
        $('#_name').val(''); 

        $('#_email').val(''); 
        $('#_message').val(''); 
        window.setTimeout(function(){location.reload()},4000) 

       }, 
       200: function() { 
        swal("Heyy there","Thank You for your feedback!","success"); 
        $('#_name').val(''); 

        $('#_email').val(''); 
        $('#_message').val(''); 
        window.setTimeout(function(){location.reload()},4000) 

       } 
      } 
     }); 

    } 

} 

function validateEmail(email) { 
var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*) 
(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA 
Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
return re.test(email); 
} 
function validate() { 
var email = $('#_email').val(); 
if (validateEmail(email)) { 


} else { 
swal('Oops!','The email '+email+' is not valid','error'); 



return false; 
} 

} 

Antwort

0

ich mich das oben genannte Problem, indem sie das Ziel der Form zu einem versteckten iframe gelöst und Erstellen eines versteckten Iframes auf derselben Seite.