我使用表單將一些數據提交給API。此外,我使用recaptcha來避免機器人。有效的表單:返回false不可能/總是開始表單的操作
我的問題:
如果用戶輸入一個錯誤的總和,他會得到一個錯誤警報。但是,錯誤警報之後,劇本始終執行「行動=」 www.test.de」,所以用戶doesn't得到一個機會來糾正輸入。 return false
也doesn't工作。
可有人點出了錯誤
腳本:
<script type="text/javascript">
var a = Math.ceil(Math.random() * 10);
var b = Math.ceil(Math.random() * 10);
var c = a + b
function DrawBotBoot() {
document.write("Was ergibt " + a + " + " + b + "? ");
document.write("<br/><input id='BotBootInput' type='text' maxlength='2' size='2'/><br/>");
}
function ValidBotBoot() {
var d = document.getElementById('BotBootInput').value;
if(d == c)
$('#test_form').submit(function(evt) {
evt.preventDefault();
var uvSubdomain = "test";
var uvKey = "xxxxxxxxxxxxxx";
var message = $('#message').val();
var subject = $('#subject').val();
var name = $('#name').val();
var email = $('#email').val();
$.jsonp({
url : 'https://' + uvSubdomain + '.test/tickets/create_via_jsonp.json?callback=?',
data : {
client : uvKey,
ticket : {
message : message,
subject : ("Anfrage via Landingpage test.de")
},
name : name,
email : email
},
success : function(data) {
alert('Herzlichen Dank für Ihre Mitteilung! Wir werden uns umgehend bei Ihnen melden.');
window.open('index.html', '_self', false)
},
error : function(d, msg) {
alert("Leider konnte die Mitteilung nicht übermittelt werden.");
}
});
return false;
});
else
alert('Falsches Ergebnis')
document.contact.BotBootInput.focus();
return false;
}
</script>
的HTML:
<div id="contact_form">
<form id="test_form" name="contact" method="post" action="https://www.test.de">
<label for="name">Name</label>
<input type="text" name="name" id="name" value="" class="span3" />
<label for="email">E-Mail</label>
<input type="email" name="email" id="email" value="" class="span3" />
<label for="message">Mittteilung</label>
<textarea name="message" id="message"></textarea>
<div>
<script type="text/javascript">DrawBotBoot()</script>
<button class="btn btn-primary" onclick="ValidBotBoot()">
Senden
</button>
</div>
</form>
</div>
我很困惑你想要什麼樣的行爲按鈕點擊?我看到你點擊時是綁定提交按鈕。 – Anoop