2012-01-06 69 views
5

Tôi chỉ muốn biết làm thế nào tôi có thể hiển thị biến javascript thành html?Cách hiển thị biến số php thành html

Dưới đây là mã php của tôi:

var duration = <? echo $postduration; ?>; 

(Biến trên sử dụng php để lấy một biến php)

Cảm ơn bạn

+0

Những gì bạn đã viết ở trên không là JavaScript lấy một biến. PHP sẽ xuất ra giá trị của $ postduration vào văn bản mà sau này sẽ được chạy bởi trình duyệt dưới dạng JavaScript .. Nếu bạn không hiểu thứ tự của những thứ bạn đang gặp phải đối với rất nhiều đầu gãi. – paislee

+0

Có một cái gì đó không ngửi rất tốt trong 'sử dụng javascript để lấy một biến php'. Bạn có muốn javascript đọc một giá trị được lưu trữ trên máy chủ không? Nếu đây là trường hợp bạn cần là AJAX. –

+0

Điều tôi muốn nói là tôi muốn sử dụng đoạn mã trên "var duration = ;" để lấy giá trị từ $ postduration (là 100) và sau đó sử dụng html để hiển thị nó bằng cách truy xuất biến javascript – BruceyBandit

Trả lời

8

Ma ke mã của bạn ngắn gọn hơn với jQuery:

(1) Thêm này trong <head> của bạn:

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 

(2) Tạo một yếu tố mà bạn muốn biến sẽ được hiển thị, và cung cấp cho nó một ID, ví dụ:

<span id="printHere"></span> 

(3) Thêm này trong JavaScript:

var duration="<?php echo $postduration ?>"; 
$('#printHere').html(duration); 
.210

Đối với PHP của bạn, hãy thử hai tùy chọn sau:

<?=$postduration?> 

hoặc ...

<?php echo $postduration; ?> 
+0

Xin chào, tôi thực sự đã viết mã jquery nhưng nó không hiển thị văn bản. Tôi có thẻ tập lệnh có liên quan nhưng nó không hiển thị bất cứ điều gì trong khoảng của tôi. Tôi sẽ hiển thị mã của tôi trong một Jsfiddle để bạn có thể nhìn thấy nó. http://jsfiddle.net/SLbKX/4/, Tôi có cần hiển thị biến php trong thẻ php phía trên jquery hay nó có thể đi dưới jquery vì tại thời điểm biến php nằm dưới mã jquery – BruceyBandit

+0

Nó nên đi ở trên để bạn đang tham chiếu một biến tồn tại đã được .. Giả sử bạn có nó đặt ra cách nó trông trong jsfiddle của bạn, nó sẽ hoạt động nếu PHP đang tạo trang. Bạn đang chỉnh sửa tệp .php, phải không? – paislee

+0

Có nó là một tập tin php, nó vẫn không hiển thị nó đáng ngạc nhiên, mã của tôi là trong fiddle cập nhật này, http://jsfiddle.net/SLbKX/7/, tôi không thể nhìn thấy bất cứ điều gì sai, nhưng tôi không biết tại sao nó không hoạt động – BruceyBandit

8

Tại sao không sử dụng chỉ hiển thị biến php trực tiếp vào html?

Cho phép chỉ nói $postduration tiếng vang "một số". Đây là đoạn mã javascript để echo "một số":

Here is <script>document.write(duration)</script> text. 

đây sẽ là kết quả:

Here is some text. 
+0

Vì tôi muốn sử dụng javascript để tính toán trên biến đó và php yêu cầu tải trang khi tính toán thay đổi trong khi javascript không – BruceyBandit

+0

@ user1131869 Tôi đã đăng mã cập nhật. – blake305

+0

[@ user1131869] (http://stackoverflow.com/users/1131869/user1131869) Bạn sẽ thực hiện phép tính với PHP hoặc bằng Javascript? –

3
document.getElementById('yourElementId').innerHtml = duration; 
+1

Đây có lẽ là cách hợp lý nhất. Có thể thay đổi từ 'yourDiv' thành 'yourElementID'? – paislee

+0

@paislee Kết hợp chỉnh sửa được đề xuất của bạn ;-) – Atonewell

2

Dưới đây là một cách để thêm một DIV đến một trang với nội dung của DIV là giá trị của PHP của bạn var:

<script> 
var duration = <? echo $postduration; ?>; 
var div = document.createElement("DIV"); 
div.appendChild(document.createTextNode(duration)); 
document.body.appendChild(div); 
</script> 
0

Không, đợi đã, điều đó sai. Trước hết, các javascript ở trên không "lấy" bất cứ điều gì từ bất cứ nơi nào (không phải php, cũng không phải bất kỳ nơi nào khác). Php tạo javascript, có nghĩa là nếu $ postduration là 5, bạn sẽ nhận được var duration = 5; và nếu postduration = "test", bạn sẽ nhận được var duration = test; (đó là javascript không hợp lệ và sẽ lỗi/gây ra những điều không mong muốn xảy ra trong ứng dụng của bạn.

ngoái, để có được một biến từ javascript vào html, bạn có thay thế nội dung của một số đối tượng khác (với innerHTML hoặc một cái gì đó như thế), hoặc bạn tạo ra một nguyên tố mới và chèn đó vào trang.

Ví dụ tại đây: http://jsfiddle.net/SLbKX/

+0

Tôi chỉ muốn biết rằng thẻ có 2 id, vì tôi muốn hiển thị nội dung từ biến trong một khoảng nhưng tôi nghĩ nếu tôi có thể sử dụng 1 id để hiển thị nội dung từ biến và id khác để thực hiện một số phép tính trên khoảng đó? – BruceyBandit

+0

@ user1131869 lolwut ?! – Chad

Các vấn đề liên quan