2013-10-25 4 views
2

В моей странице суперпользователя для удаления и изменения моих пользователей я сделал таким образомПеременная JQuery для отправки без формы?

<table> 
    <tr> 
     <td>USERID</td> 
     <td>NAME</td> 
     <td>AGE</td> 
     <td>DELETE</td> 
     <td>MODIFY</td> 
    </tr> 

    <?php 

    $base_url = 'this_page.php'; 

    $query = "SELECT * FROM tbl"; 
    $result = mysql_query($query); 
    while ($row = mysql_fetch_array($result)) { 


    $btn_del = "<input type='button' "; 
    $btn_del .= "onClick=\"location.href='" . $base_url . "&action=Delete&id=$row[userid]'\" "; 
    $btn_del .= "class='deluser' />"; 

    $btn_mod = "<input type='button' "; 
    $btn_mod .= "onClick=\"location.href='" . $base_url . "&action=Modify&id=$row[userid]'\" "; 
    $btn_mod .= "class='moduser' />"; 

    echo "<tr>\n"; 
     echo "<td>" . $row['userid'] . "</td>\n"; 
     echo "<td>" . $row['user'] . "</td>\n"; 
     echo "<td>" . $row['age'] . "</td>\n"; 
     echo "<td>" . $btn_del . "</td>\n"; 
     echo "<td>" . $btn_mod . "</td>\n"; 
    echo "</tr>"; 


    } 

</table> 


    <?php 

    switch ($_GET['action']) { 

    case "Delete": 

     // call delete method of user class 
     $obj->DeleteUser($_GET['idric']); 

     echo "<script>"; 
     echo "document.location.href=\"$base_url\""; 
     echo "</script>"; 

     break; 

    case "Modify": 

     // call modify method of user class 
     $obj->ModifyUser($_GET['idric']); 

     echo "<script>"; 
     echo "document.location.href=\"$base_url\""; 
     echo "</script>"; 

     break; 

    }    

    ?> 

Этим способ работает прилично, но я хотел бы сделать что-то более элегантное, возможно, с помощью Jquery поста и/или Ajax.

До сих пор я использовал jquery, передавая данные через формы (для проверки).

// # Form Submit 
$(".Form").submit(function(event) { 

event.preventDefault(); 

$.post("action.admin.php", { 

    name: $("#name").val(), 
    age: $("#age").val(), 
    userid: $("#userid").val() 
    }, 
}); 

Как я мог сделать, чтобы передать мои данные в action.php (в данном случае $ идента) без использования формы с JQuery постом?

// # click 
$(".deluser").click(function(event) { 

event.preventDefault(); 

$.post("action.php", { 
?? 
?? 

Благодаря

+2

таким же образом? Добавьте переменные в пару key/val, как вы это сделали. – tymeJV

+0

Возможно отправлено через собственный URL-адрес, добавив & с каждой информацией в качестве ключевой пары <> value. – ram

+0

@ram - Извините, вы можете мне сказать, как? –

ответ

1

параметр Использовать данные

$.ajax({ 
    type: "POST", 
    url: url, 
    data: { 
     // Your data here 
    }, 
    success: success, 
    dataType: dataType 
}); 
2

Вы на самом деле не используя form строить значения (как если бы, скажем, функцию .serialize()). Посмотрите на свой код:

$.post("action.admin.php", { 
    name: $("#name").val(), 
    age: $("#age").val(), 
    userid: $("#userid").val() 
}); 

Каждая пара ключ/значение имеет явный ключ, а затем получает значение из $('#someElement').val(). Ни одна из них не зависит от тега form. Эти элементы (#name и т. Д.) Могут существовать в любом месте страницы с теми значениями id, и это все равно будет работать.

Вы можете использовать любое значение, которое вы хотели бы таким образом:

$.post("action.admin.php", { 
    name: $("#name").val(), 
    age: 'someString', 
    userid: aVariableInitializedSomewhereElse 
}); 
+0

& action = Modify & iduser = $ row [userid] неверно. Как я могу определить iduser = $ row [userid] для получения этого в имени: $ ("# name"). Val()? благодаря –

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