2013-05-05 4 views
0

Это моя первая неделя PHP (так что не издевательства). Я пытаюсь захватить значение выбранной формы и вставить в свой db. Вставка все хороша, но я не могу передать значение.Как получить значение выбранной формы в AJAX?

Сценарий:

<script type="text/javascript"> 
    //add to top 10 
    function addTop10() 
    { 
    var show_id = $('#show_id').val(); 
    var user_id = $('#user_id').val(); 
    var rank = $('select.rank').val(); 
     //Storing the value of textbox into a variable 
    if(show_id == '')  //Checking for NULL 
    { 
    $('#propspectDiv').html('Enter A Valid Name'); //Prints the progress text into our Progress DIV 
    $('#show_id').addClass('error');     //Adding the error class to the progress DIV 
    return; 
    } 
    else{ 
    $('#show_id').removeClass('error'); 
    $('#propspectDiv').removeClass('error'); //Removing the error class from the progress DIV 
    $('#propspectDiv').html('Submitting your Request.<img src="ajax.gif" />');//Prints the progress text into our Progress DIV 

    $.ajax({ 
    url : 'top10ajax.php', //Declaration of file, in which we will send the data 
    data:{ 
    "show_id" : show_id, 
    "user_id" : user_id, 
    "rank" : rank   //we are passing the name value in URL 
    }, 
    success : function(data){ 
    window.setTimeout(function(){ 
    $('#propspectDiv').html('Added'); //Prints the progress text into our Progress DIV 
    }, 2000); 
    } 
    }); 
    } 
    } 

    </script> 

и HTML

<div class="row"> 
     <div class="twelve columns"> 
<h4>Add to your top 10 </h4> 
<div class="two columns"> 
    <form> 
<select name="rank"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
    <option value="6">6</option> 
    <option value="7">7</option> 
    <option value="8">8</option> 
    <option value="9">9</option> 
    <option value="10">10</option> 

</select> 
</div> 
<div class="four columns"> 
     <button class="large button" id="rank" type="button" value="Add to Top 10" onclick="addTop10()"></form> 
</div> 

Что я делаю не так, кроме плохого форматирования?

+1

Я не вижу PHP .. – dbf

+0

Я вижу, вы упоминаете вопрос о форматировании - в общем, это хорошая идея, чтобы исправить что до публикации, чтобы сделать код более удобным для чтения. – halfer

+0

Я предположил, что '$' является объектом jQuery и соответствующим образом изменил ваш вопрос. – halfer

ответ

2

select.rank выберет элемент типа select, который является членом класса rank.

<select name="rank"> не является членом ни одной категории. Он не имеет атрибута класса.

Вам нужно либо изменить селектор, чтобы он соответствовал элементу, либо наоборот.

1

Вы пытаетесь получить значение поля выбора в неправильном попробовать это вместо того, чтобы

var rank = $("select['name=rank']").val();