2016-07-13 5 views
-2

Я протестировал свой файл update.php, и он отлично работает, и нет никакой ошибки при проверке скрипта через консоль. Только проблема здесь. Ajax не может отправлять значения «id» «comment_area» в файл update.php. Какая ошибка здесь?Мой код ajax не может отправлять значения на другую страницу php

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js"> 
 
$(document).ready(function() { 
 
    $("#b_news").submit(function(evt) { 
 
    evt.preventDefault(); 
 

 
    var text = $('#breaking_news_text').val(); 
 
    var id = 21; 
 
    $.ajax({ 
 
     type: "POST", 
 
     url: "update.php", 
 
     data: { 
 
     comment_area: text, 
 
     id: id 
 
     }, 
 
     success: function() { 
 
     alert("sucess"); 
 
     } 
 
    }); 
 
    }); 
 
}); 
 

 

 

 
</script>

<form id="b_news" method="post" action=""> 
 
    <div> 
 
    <div> 
 
     <textarea id="breaking_news_text" class="breaking_news_text" rows="6" cols="50" placeholder="Add text here..." required></textarea> 
 
    </div> 
 
    </div> 
 
    <div> 
 

 
    <input type="button" id="save" value="Save Changes" /> 
 

 
    </div> 
 
</form>

<?php 
 
include("./inc/connect.inc.php"); 
 

 
$id=$_POST['id']; 
 
$update = $_POST['comment_area']; 
 
$sql = "update comments set comment_area='$update' Where id='$id'"; 
 
$result = mysqli_query($mysqli, $sql)or die("error"); 
 

 
     
 

 

 
?>

+1

показать код php. проделали какую-либо базовую отладку? возможно, есть перенаправление, и ваш скрипт вызывается как GET, а значения post теряются. –

+0

Я добавил .php-файл – anor

+0

'var_dump ($ _ SERVER ['REQUEST_METHOD'], $ _POST)' и посмотреть, что получится. Обратите внимание, что вы уязвимы для [SQL-инъекций] (http://bobby-tables.com). –

ответ

0

Кажется мне, что ваша кнопка просто не может суб с формой по виду. Попробуйте изменить атрибут типа кнопки, чтобы представить следующим образом:

<input type="submit" id="save" value="Save Changes"/> 
0

У вас есть две проблемы.

Первый у вас может быть только один скрипт для каждого элемента скрипта. Сценарий может ссылаться либо на атрибут src, либо может быть между начальным и конечным тегами.

Если вы попытаетесь сделать то и другое, как вы здесь, то будет уважаться только src.

Используйте отдельные <script> элементы для ваших двух скриптов.


Во-вторых, у Вас нет никакого способа, чтобы вызвать событие представить. Событие отправки будет вызываться при отправке формы, но вы не можете сделать это из текстового поля или кнопки. Замените кнопку кнопкой отправки.

+0

Формы могут быть представлены без каких-либо кнопок. Попробуйте выбрать поле ввода и нажать enter в [этой скрипке] (https://jsfiddle.net/xwLsuapj/). – Siguza

+2

Разве это не значит, что он упоминает 'textarea'? – Jonathan

+1

@Siguza - Они могут, но, как я сказал в ответ, форма в вопросе имеет только текстовое поле и кнопку. Он не имеет ввода текста. – Quentin

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