2015-07-13 3 views
0

У меня есть функция AJAX, и я плохо разбираюсь в AJAX. Я хочу передать значение из PHP в AJAX. Мне удалось сделать это с помощью:используя href вместо ввода

<input type="text" id="price" onclick='ajaxFunction()' value="<?php echo $id; ?>" /> 

, а затем в моем AJAX:

document.getElementById('price').value; 

Но я хотел бы сделать его работу с помощью HTML A HREF.

Может ли кто-нибудь помочь мне с возможными способами сделать это?

Заранее благодарен!

+1

сделать какую работу? Если вы просто хотите привязать, почему бы не создать якорь. – adeneo

+0

Как я могу получить значение из A href, то есть вопрос. – Tibor

+0

@Tibor заменить значение href ?! –

ответ

5

anchor или <a> тег не имеет value, вместо этого он имеет innerHTML. Используйте этот способ:

<a id="price" href="#something">50.00</a> 
document.getElementById('price').innerHTML; // 50.00 
document.getElementById('price').getAttribute("href"); // #something 

Чтобы установить эти значения, вы можете использовать один и тот же материал:

document.getElementById('price').innerHTML = responseText; 
document.getElementById('price').setAttribute("href", responseText); 

И, как всегда, лучше ответить как JSON для хороших вещей:

responseText = { 
    "price": 50.00, 
    "link": '#something' 
}; 

выше, когда РНР выходы, было бы:

<?php header ("Content-type: application/json"); ?> 
{ 
    "price": 50.00, 
    "link": '#something' 
} 

И вы можете использовать его как:

document.getElementById('price').innerHTML = responseText.price; 
document.getElementById('price').setAttribute("href", responseText.link); 

Поскольку вы добавили , я думаю, добавив эту информацию будет сделать этот ответ стоит. Я не уверен, как вы вызываете функцию AJAX, но вызов этого пути является потрясающим. JQuery имеет встроенную функцию AJAX, которые вы можете использовать:

$.post("path/to/php", {data: to_be_sent}, function (responseText) { 
    responseText = JSON.parse(responseText); 
    $("#price").attr("href", responseText.link).html(responseText.price); 
}); 

Чтение гораздо проще в этом случае:

$("#price").attr("href", responseText.link); // Gives you the #something 
$("#price").html(responseText.price);  // Gives you the 50.00 
+1

'сделайте это с помощью HTML a href' О, так что теперь я понимаю вопрос;) Я догадывался, что OP хотел получить свойство href –

+0

Я добавил больше очков @ A.Wolff, поскольку вопрос OP был не ясен! –

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