2014-01-14 4 views
0

Я получил следующий код, получающий сортировку чисел на странице php ajax. теперь я хочу отправить одно значение с двух кнопок. Вот мой код JavaScriptjavascript, как передать два значения в php ajax

function showUser(str) 
{ 
    if (str==""){ 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 

    if (window.XMLHttpRequest){ 
    xmlhttp=new XMLHttpRequest(); 
    }else{ 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function(){ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
    } 
    } 

    xmlhttp.open("GET","productlistajax.php?q="+str,true); 
    xmlhttp.send(); 
    } 

Теперь сортировкой dorpdown МЕНЮ

<select id="maxDaysSinceAdded" name="shorting" onchange="showUser(this.value)"> 
    <option selected='selected' value="1">Most Recent</option> 
    <option value="2">Lowest Price</option> 
    <option value="3">Highst Price</option> 
</select> 

здесь есть две кнопки я хочу, чтобы отправить одно значение наряду с выше сортировкой идентификатор.

<button type="button" name="buttonpassvalue" value="-1" onclick="showUser(this.value)"><< Previous</button> 
<button type="button" name="buttonpassvalue" value="1" onclick="showUser(this.value)">Next >> </button> 

Примечание:

Обратите внимание, что, когда я нажимаю в следующем он должен добавить 1 из предыдущих общих и если я нажимаю предыдущим затем убывать 1 от общего на широком.

и, если возможно, отключите предыдущую кнопку, когда она достигнет -1.

благодарит п»С наилучшими пожеланиями,

+0

Пожалуйста научиться отступы вашего кода, никто не заинтересован в выяснении, как ваш код вложен когда вы пишете это без отступов. Если вы хотите получить помощь, по крайней мере, сделайте так же легко, как можете. – meagar

+1

Можете ли вы объяснить, что должны делать эти кнопки? Я понимаю, что выбор выбирает вариант сортировки, но кнопки делают что? Перебирать параметры сортировки? – cyberwombat

+0

кнопка имеет одинаковые имена только значения разные ...Я хочу передать значения (1 или -1) на страницу ajax. – Reel

ответ

0

Его простой,

магазин значение сортировки выберите [maxDaysSinceAdded] в локальную переменную и передать его в Ajax вызова.

По запросу ajax вам нужно добавить еще одну переменную, разделенную '&'.

var sortVal = document.getElementById("maxDaysSinceAdded").value(); 

xmlhttp.open("GET","productlistajax.php?q="+str+"&sort="+sortVal ,true); 
xmlhttp.send(); 

Чтобы отключить предыдущую кнопку см, если строка < 0 [т.е. отрицательное значение]

Назначение кнопки предыдущий идентификатор атрибута ID = "buttonpassprevious"

if(str < 0){ 
    document.getElementById("buttonpassprevious").disabled = true; // Disable 
}else{ 
    document.getElementById("buttonpassprevious").disabled = false; // Enable 
} 

на PHP конце вас может получить оба значения с помощью ссылочных переменных.

<?php 
    $buttonVal = $_GET['str']; 
    $sortVal = $_GET['sort'] 
?> 

Вопрос, кажется, новичок, поэтому я расширил свой ответ на самые базовые уровни для полноты. Эксперты, пожалуйста, извините.

0

Если вы кнопки не уменьшить/увеличить, то что-то вроде этого:

<select id="maxDaysSinceAdded" name="shorting" onchange="showUser()"> 
    <option selected='selected' value="1">Most Recent</option> 
    <option value="2">Lowest Price</option> 
    <option value="3">Highst Price</option> 
</select> 

<button type="button" name="buttonpassvalue" value="-1" onclick="showUser(this.value)"><< Previous</button> 
<button type="button" name="buttonpassvalue" value="1" onclick="showUser(this.value)">Next >> </button> 

<script> 

function showUser(modifier) { 

    // Modifier is the inc/dec value which is optional - default to zero?  
    var bpv = modifier || 0; 

    // Str is always there so just grab it from select 
    var str = document.getElementById("maxDaysSinceAdded").value; 

    if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
    } else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
    } 
    } 

    xmlhttp.open("GET", "productlistajax.php?q=" + str + "&buttonpassvalue=" + bpv, true); 
    xmlhttp.send(); 
} 

</script> 

Но вы не можете отключить кнопки, если вы не знаете текущее значение то, что вы изменяете. Но я могу быть неясно, как ваша цель.

0

this.value = ParseInt (this.value) +1 добавит 1 к предыдущему значению

<button type="button" name="buttonpassvalue" value="-1" onclick="showUser(this.value);this.value=parseInt(this.value)-1;"><< Previous</button> 
<button type="button" name="buttonpassvalue" value="1" onclick="showUser(this.value);this.value=parseInt(this.value)+1;">Next >> </button> 
Смежные вопросы