2016-02-10 3 views
0

Я пытаюсь отправить свою форму в базу данных. Когда я нажал кнопку отправки, она не вставляла записи и не была отключена. Когда я вижу свою консоль, я наблюдал этоОтправить кнопку с анонимным поведением

строки кода

<button type="submit" value="submit" class="btn btn-primary" name="submit">Submit</button> 

изменения в

<button type="submit" value="submit" class="btn btn-primary disabled" disabled="disabled" name="submit">Submit</button> 

Как я могу решить эту проблему?

Я с радостью отмечаю ответ +1. Thanx заранее

Полный код:

<?php 
include 'includes/db_connection.php'; 
if (isset($_POST['submit'])) { 
$firstname = $_POST['firstname']; 
$sql1 = "INSERT INTO student (firstname) VALUES ('$firstname')"; 

$res1 = mysqli_query($conn, $sql1); 
if ($res1) { 
echo 'succ'; 
// header("Location: successful_message.php"); 
} else { 
echo 'fail'; 
// header("Location: valid_test.php"); 
} 
} else { 
?> 
<!DOCTYPE html> 
<html lang="en"> 

<head> 

<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
<!-- 
<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css"> 
--> 
<link rel="stylesheet" href="http://formvalidation.io/vendor/formvalidation/css/formValidation.min.css"> 
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script src="http://formvalidation.io/vendor/formvalidation/js/formValidation.min.js"></script> 
<script src="http://formvalidation.io/vendor/formvalidation/js/framework/bootstrap.min.js"></script> 

<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" type="text/ecmascript"></script> 

    <title>Form</title> 
</head> 
<body> 
    <form id="contactForm" method="post" class="form-horizontal"> 

    <div class="form-group"> 
     <label class="col-xs-3 control-label">Full name</label> 
     <div class="col-xs-4"> 
     <input type="text" class="form-control" name="firstname" placeholder="First name" /> 
     </div> 
    </div> 


    <div class="form-group"> 
     <div class="col-xs-9 col-xs-offset-3"> 
      <button type="submit" value="submit" class="btn btn-primary" name="submit">Submit</button> 
     </div> 
    </div> 
    </form> 
<?php } ?> 

<script> 
    $(document).ready(function() { 



    $('#contactForm') 
      .formValidation({ 
       framework: 'bootstrap', 
       icon: { 
       valid: 'glyphicon glyphicon-ok', 
       invalid: 'glyphicon glyphicon-remove', 
       validating: 'glyphicon glyphicon-refresh' 
       }, 
       fields: { 
       firstname: { 
        validators: { 
        notEmpty: { 
         message: 'The first name is required' 
        }, 
        regexp: { 
         message: 'Name only contains Letter', 
         regexp: /^[A-Z a-z]*$/ 
        } 
        } 
       }, 


       } 

      }); 


    }); 
</script> 
</body> 
</html> 
+0

Слишком неопределенно, чтобы дать правильный ответ, но, возможно, плагин проверки формы отключает кнопку, когда данные формы недействительны для ее стандартов? – phenxd

+0

@phenxd Я пытаюсь вставить просто одно значение в базу данных. Проверка не позволяет мне вводить какое-либо число, но когда я отправляю, я сталкиваюсь с ошибкой –

ответ

0

Это проблема с вашей конкретной библиотекой проверки формы. According to the FormValidation.io FAQ они не позволяют называть кнопку отправки «отправить». Вы должны просто изменить атрибут имени своей кнопки отправки.

<button type="submit" value="submit" class="btn btn-primary" name="notNamedSubmit">Submit</button> 

Вы также должны обновить PHP, чтобы посмотреть на новое имя кнопки вместо $ _POST [ «Submit»].

+0

superbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb !!! .. Вы потрясены Человеком! :) .. –

+0

thanxxxxxxxxxxx alot :) –

0

Ну, есть две вещи, которые не кажутся правильными здесь. Один из них, HTML для формы не представляется совместимым с JQuery-х validate, и я думаю, вам нужно использовать .validate не .formValidation, который я даже не уверен, что существует ...

Я хотел бы предложить свой HTML форматирования, как :

<form id="contactForm" method="post" class="form-horizontal"> 
    <fieldset> 
     <p> 
      <label class="col-xs-3 control-label">Full name</label> 
      <input type="text" class="form-control" name="firstname" placeholder="First name" /> 
     </p> 
     <p> 
      <input class="submit" type="submit" value="Submit"> 
     </p> 
    </fieldset> 
</form> 

Теперь, ваш JS может быть столь же просто, как:

$("#contactForm").validate(); 

..и работы, но вы можете легко добавить дополнительную проверку с помощью:

$("#contactForm").validate({ 
    submitHandler: function(form) { 
     /* 
      Add validation here 
     */ 
     form.submit(); 
    } 
}); 

Существует множество различных настроек проверки, которые могут быть использованы, но я смог найти это, выполнив это с помощью googling, я не знал об этом раньше. Мое предложение: сделайте некоторое исследование этих функций JQuery, прежде чем приходить сюда для ответов. Here - это то, где вы можете начать.

+0

Кстати, вам не нужен '$ (document) .ready' в встроенном скрипте, он не будет выполняться, пока ваш« документ не будет готов » " уже. – WebWanderer

0

Это может быть задержка, вызванная медленными подключениями к сетям cdn, попробуйте разместить локальные библиотеки (в конце концов, они не такие большие файлы). Я видел, что вы следовали образцу кода, представленному в документации libarary. Я не думаю, что это проблема, связанная с кодом.

+0

Abbasi Откуда я должен был бы скачать все эти библиотеки? –

Смежные вопросы