#javascript #php #mysql
#javascript #php #mysql
Вопрос:
Я использую PHP amp; MySQL для отправки формы со следующим кодом и использую isset
функцию в PHP для отправки значения в базу данных.
<div class="display">
<form action="" method="POST">
<div>
<input type="text" name="name" placeholder="Your Name" required="required">
</div>
<div>
<input type="text" name="phone" id="phone" placeholder="Mobile" required="required" onblur="check();">
<br/>
<span id="e_mobile"></span>
<?php if(isset($_GET["r"])){ ?><p>Invalid number; must be ten digits. Please submit your query again</p><?php } ?>
</div>
<div>
<input type="text" name="landline" id="landline" placeholder="Alternate Number" required="required" onblur="check1();">
<br/>
<span id="e_landline"></span>
</div>
<div>
<input type="email" name="email" placeholder="Email" required="required">
</div>
<div>
<input type="text" name="address" placeholder="Your Address" required="required">
</div>
<div>
<input type="hidden" value="0" name="salesid"/>
</div>
<input type="submit" name="submit" value="Submit">
</form>
</div>
Теперь я хочу, чтобы после того, как пользователь нажмет кнопку отправки один раз, кнопка должна зависнуть; на данный момент, если пользователь нажимает кнопку отправки более одного раза (намеренно или по ошибке), одна и та же информация отправляется в базу данных более одного раза.
Что делать в этих обстоятельствах?
Комментарии:
1. используйте атрибут с именем disabled для этого сценария….
2. Это сделает то, о чем вы просите
<input type="submit" name="submit" value="Submit" onclick="javascript: this.disabled = true;"/>
но я не думаю, что это способ справиться с этой ситуацией (предотвращение повторной отправки формы).
Ответ №1:
Попробуйте с помощью jQuery:
Сначала добавьте идентификатор в свою форму
<form action="" method="POST" id="form">
После этого добавьте скрипт:
<script type="text/javascript">
$(document).ready(function() {
$("#form").submit(function(e){
$("input[type='submit']").attr("disabled","disabled");
});
});
</script>
Ответ №2:
Вы можете добавить PHP Captcha, чтобы предотвратить повторный щелчок пользователя.
Пожалуйста, ознакомьтесь с приведенными ниже двумя URL-адресами, которые также включают демо-версию.