2013-03-01 48 views
15

Tôi có một trang HTML với một nút, và tôi cần phải thực thi một kịch bản python khi chúng ta bấm vào nút và trở về cùng một trang HTML với kết quả.Thực hiện một tập lệnh python trên nút bấm

Vì vậy, tôi cần thực hiện một số xác thực về giá trị trả lại và thực hiện một số hành động.

Đây là mã của tôi:

HTML:

<input type="text" name="name" id="name"> 
<button type="button" id="home" onclick="validate()" value="checkvalue"></button> 

JS:

function validate(){ 
    if (returnvalue=="test") alert(test) 
    else alert ("unsuccessful") 
} 

gì mã python của tôi là thực hiện một số xác nhận về tên nhập vào là hộp văn bản và cung cấp trạng thái trả lại.

Nhưng tôi cần kết quả lại trên cùng một trang, vì vậy tôi có thể thực hiện gửi biểu mẫu sau với tất cả chi tiết. Bất kỳ trợ giúp sẽ được đánh giá cao

+0

Python chạy ở phía máy chủ, vì vậy gần nhất bạn có thể nhận được là AJAX gửi giá trị máy chủ của bạn và trả lại kết quả xác nhận. – Passerby

+1

liên quan: [Làm thế nào để kết nối Javascript với Python chia sẻ dữ liệu với định dạng JSON theo cả hai cách?] (Http://stackoverflow.com/questions/11747527/how-to-connect-javascript-to-python-sharing-data-with -json-format-in-both-ways) – jfs

Trả lời

17

Bạn có thể sử dụng Ajax, đó là dễ dàng hơn với jQuery

$.ajax({ 
    url: "/path/to/your/script", 
    success: function(response) { 
    // here you do whatever you want with the response variable 
    } 
}); 

và bạn nên đọc the jQuery.ajax page vì nó có quá nhiều lựa chọn.

+1

Trong trường hợp của tôi, đoạn mã này tải tập tin kịch bản python từ tập tin URL –

12

Tạo trang (hoặc dịch vụ) trong python, có thể chấp nhận đăng hoặc nhận yêu cầu và xử lý thông tin và trả về phản hồi. Sẽ tốt hơn nếu phản hồi có định dạng json. Sau đó, bạn có thể sử dụng mã này để thực hiện cuộc gọi khi nhấp vào nút.

<input type="text" name="name" id="name"> 
<button type="button" id="home" onclick="validate()" value="checkvalue"> 
<script> 
$('#id').click(function(){ 

$.ajax({ 
     type:'get', 
     url:<YOUR SERVERSIDE PAGE URL>, 
     cache:false, 
     data:<if any arguments>, 
     async:asynchronous, 
     dataType:json, //if you want json 
     success: function(data) { 
     <put your custom validation here using the response from data structure > 
     }, 
     error: function(request, status, error) { 
     <put your custom code here to handle the call failure> 
     } 
    }); 
}); 
</script> 

Tôi hy vọng điều này sẽ giúp

+1

Cảm ơn bạn rất nhiều .. nó thực sự làm việc cho tôi – user2058205

+0

Rất vui được trợ giúp. Nếu bạn không phiền, vui lòng đánh dấu câu trả lời là đã được chấp nhận nếu nó đã giúp. – Hari

+0

@Hari Tôi có thể hỏi $ ('# id') đang làm gì không? là '#id' được sử dụng ở đây như một trình giữ chỗ cho chúng ta thay thế bằng một cái gì đó như 'nhà' (trong trường hợp câu hỏi của OP)? Nếu vậy, tôi vẫn không chắc $ đang làm gì –

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