2016-06-14 3 views
1

나는 완벽하게 작동하는 동적으로 생성 된 필드가 있습니다. 나는 현재 동적 필드에 입력 된 데이터를 내 DB에 삽입하려고합니다. 그러나 정보는 db에 삽입되지 않습니다. 즉, 제출 버튼이 제출되지 않습니다.동적 필드 데이터를 db 문제에 삽입 하시겠습니까?

필자는 jQuery와 PHP의 양식을 테스트 파일에 복사하여 붙여 넣었으며 jQuery와 양식을 필요에 따라 제거했다.

내 동적 필드가 jquery를 사용하여 만들고 PHP를 사용하여 db에 데이터를 삽입하려고합니다. jquery와 PHP가 함께 작동합니까? 모든 제안이나 조언을 많이 주시면 감사하겠습니다.

동적 필드

$(document).ready(function() { 
      var max_fields = 100; //maximum input boxes allowed 
      var wrapper = $(".input_fields"); //Fields wrapper 
      var add_button = $(".add_field"); //Add button ID 

      var x = 1; //initlal text box count 
      $(add_button).click(function(e) { //on add input button click 
       e.preventDefault(); 
       if (x < max_fields) { 
        x++; //text box increment 
        $(wrapper).prepend('<div id="new_blue">\n\ 
          <div id="inline" class="div">\n\\n\ 
          <form id="form" class="Form" method="POST" action="" accept-charset="utf-8">\n\ 
          <p id="option" class="text">Option name\n\ 
          <input type="text" id="option_nme" name="option_nme[]" class="option_field"></p>\n\ 
          </div>\n\ 
          \n\ 
          <div id="inl" class="div">\n\ 
          <p id="customer" class="text">Allow customer to pick ..\n\ 
          <select class="optionType" name="optionType" value=""disabled="disabled" >\n\ 
          <option value="Option Type" disabled="disabled">Option Type</option>\n\ 
          </select>\n\ 
          </div>\n\ 
          </p>\n\ 
          <hr id="hoz_line">\n\ 
          <p id="para">You can add add-ons after creating this option...\n\ 
          </p>\n\ 
          <input type="submit" id="dynamic_submit" name="dynamic_submit" value="Submit">\n\ 
          <a href="#" class="remove_field">Remove</a>\n\\n\ 
          </form></div>'); //add input box 
       } 
      }); 

      $(wrapper).on("click", ".remove_field", function(e) { //user click on remove text 
       e.preventDefault(); 
       $(this).parent('div').remove(); 
       x--; 
      }) 
     }); 

삽입 쿼리 몇 가지가있다

$dbc = new mysqli("localhost", "root", "root", "One_Delivery"); 
    $dbc->set_charset("utf8mb4"); 

    $sel_sql = "SELECT Add_On_ID FROM Add_On"; 
    $sel_result = $dbc->query($sel_sql); 

    if ($sel_result->num_rows > 0) { 
     // output data of each row 
     while ($sell_row = $sel_result->fetch_assoc()) { 
      $ao_id = $sell_row['Add_On_ID']; 
     } 

     //insert dynamic field(s) into add-on 
     if (isset($_POST['dynamic_submit'])) { 
      $df_option_name = $_POST['option_nme']; 

      // option name validation 
      if (empty($_POST['option_nme'])) { 
       $add_product_errors['option_nme'] = "Oops! i cannot be empty"; 
      } 

      $ao_query = "INSERT INTO Add_on(Add_On_OpName) VALUES (?) 
     ON DUPLICATE KEY 
     UPDATE 
     Add_On_OpName = ?"; //on duplicate input update row 
      //var_dump($databaseObject); 
      $ao_run_query = $dbc->prepare($ao_query); 

      $ao_run_query->bind_param('ss', $df_option_name, $df_option_name); 
      // THIS now executes the above transaction, returns TRUE if successful - issdissd duplicate update 
      if (!$ao_run_query->execute()) { 
       $insertError = "There was an error inserting data: " . $ao_run_query->error; 
      } 

      print "affected rows:" . $ao_run_query->affected_rows; //how many records affected? 
      $ao_run_query->free_result(); // Frees memory on completion 
      $ao_run_query->close(); //closes this action 


     } 
+2

어떤 오류가 브라우저 콘솔 (js)이나 PHP를 통해 출력되고 있습니까? –

+0

@JamieBicknell 오류가 없습니다. 그것은 마치 제출 버튼이 비활성화되어 있고 왜 이해가 안되는가입니다 – user6456767

답변

0

:

이 버튼이 AJAX를 통해 출력된다

? 당신과 같이 경청해야 할 것입니다 그렇다면 : 또한 영향을 미칠 수있는 .add_field이 두 번 $()을 사용하고

$(document).on('click', '.add_field', function(e) { 
    // do stuff 
}); 

대신 수행

$('.add_field').on('click', function(e) { 
    // do stuff 
}); 

또는

$('.add_field').click(function(e) { 
    // do stuff 
}); 
+0

안녕하세요. echo는 db 밖으로 echoed되었으므로, html입니다. – user6456767

+0

HTML이 AJAX를 통해 문서에 삽입되는지 여부에 관계없이, 버튼에 이벤트 리스너를 새로 고치거나 내가 추가 한 방법 –

관련 문제