Tôi có hai JSP khác nhau mà chương trình phụ trợ Java nối với nhau và gửi lại cho cùng một trang HTML được hiển thị.Phạm vi chức năng JavaScript giữa các thẻ tập lệnh
Mỗi JSP có <script>
khối riêng của mình và xác định các chức năng bên trong khối rằng:
JSP # 1:
<script type="text/javascript">
function blah() { ... }
</script>
JSP # 2
<script type="text/javascript">
function foo()
{
blah();
}
</script>
Giống như tôi đã nói, phụ trợ thêm chúng cho phản hồi HTTP và gửi chúng trở lại trình duyệt trong cùng một yêu cầu.
Khi tôi chạy trang này trong trình duyệt của mình, tôi có thể nói ngay rằng blah()
không hoạt động khi foo()
được gọi. Tôi thấy lỗi bảng điều khiển trong Firebug nêu rõ blah()
không được xác định. Tôi tự hỏi nếu blah()
chỉ có phạm vi bên trong thẻ <script>
của riêng nó và tương tự như vậy cho foo()
. Đó có phải là trường hợp ở đây, hoặc là một cái gì đó khác awry?
Khi tôi đi xem nguồn trang, tôi thấy cả khối tập lệnh và cả hai chức năng. Điều này cho tôi biết mọi thứ đang được tạo ra/trả về chính xác phía máy chủ, nhưng có lẽ cách tiếp cận của tôi vốn đã sai (xác định các hàm bên trong các thẻ script khác nhau). Cảm ơn trước.
khi nào hoặc làm thế nào để bạn gọi foo()? – Philipp
foo() được gọi khi người dùng di chuột qua phần tử. Tôi có thể xác minh rằng nó được gọi bằng cách thay thế nội dung của nó bằng một câu lệnh cảnh báo (""). – IAmYourFaja