2013-09-10 3 views
0

Я пытаюсь ввести значение в текстовое поле и вызвать запуск оператора обновления в базу данных, но сообщение .val() возвращает пустое значение..val() не фиксирует значение текстового поля при нажатии кнопки

Вот функция:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script> 
    function save_a9(id) { 
     $.post('response6.php', {starID:id, starURL: $('#starurl').val()}, 
      function(result) { 
       alert(result); 
       window.location.reload(); 
     }); 
    } 
</script> 

Вот кнопка и текстовое поле:

echo "<br><b>request to join site: {$row9['count']}</b><br>"; 
while ($row99 = $prep99->fetch(PDO::FETCH_ASSOC)) { 
    echo "{$row99['starID']} , {$row99['starName']} = {$row99['twitter']}"; 
    if ($row99['guest'] == 0) { 
     $guest = 'ongoing'; 
    }; 
    if ($row99['guest'] == 1) { 
     $guest = 'guest'; 
    }; 
    if ($row99['guest'] == 2) { 
     $guest = 'PLEASE SELECT ONE'; 
    }; 
    echo " ~ $guest ~ <br>"; 
    echo "<input type='text' name='starurl' value='{$row99['starURL']}' id='starurl' style='width:100px; height:30px;'/>"; 
    echo "<br><button onclick='save_a9({$row99['starID']})'>Approve</button><button onclick='save_d9({$row99['starID']})'>Disapprove</button><br>"; 
} 

И вот response6.php:

<?php 
include("db_conn.php"); 
$sql = "update stars set approved = 1, starURL = ? where starID = ?"; 
$qc = $pdo_conn->prepare($sql); 
$qc->execute(array($_POST['starURL'], $_POST['starID'])); 
echo 'saved'; 
?> 
+0

Похоже, что вы не можете выполнять функцию с параметрами, на которые вы надеетесь. Вы можете добавить jsfiddle? – PaulProgrammer

+1

Сколько у вас '' элементов у вас есть на странице? Если у вас более одного, идентификаторы должны быть уникальными. Неисторические идентификаторы могут дать эту проблему. –

+0

Запустите '$ ('[id =" starurl "]'). Length' в консоли, чтобы увидеть, есть ли повторяющиеся идентификаторы –

ответ

1

Я хотел бы использовать идентификатор атрибута вместо этого. Например,

<button id="button-id">Click me</button> 

и использовать его в jQuery. Example of Javascript.

+0

ok, но как это будет работать для моего проекта? будет ли он по-прежнему выполнять все, что я ищу, используя значение текстового поля для обновления поля базы данных? – babyoth

+0

Извините. Виноват. Я пропустил получение значения #starurl. Я вижу, что он находится в цикле, поэтому я предполагаю, что он генерирует более одного #starurl. Я нахожу, что jQuery получит первый вход в списке. Следовательно, если вы вводите значение в другое, чем первое поле ввода, jQuery не получит значение. http://jsfiddle.net/JY36x/2/ –

+0

Как это работает с запросом ajax и update? все еще не совсем понимая это, и мне нужно использовать более одного текстового поля, такого как starurl и starimage ... – babyoth

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