factor out creating of input page

This commit is contained in:
interp 2003-03-09 19:57:09 +00:00
parent b12070e349
commit 4af92bc379
1 changed files with 21 additions and 20 deletions

View File

@ -1,14 +1,11 @@
(define-structure surflet surflet-interface (define-structure surflet surflet-interface
(open surflets (open surflets
url
scheme-with-scsh) scheme-with-scsh)
(begin (begin
(define number-input-field (make-number-input-field)) (define number-input-field (make-number-input-field))
(define (get-number title input-text) (define (create-input-page title input-text)
(let* ((result
(send-html/suspend
(lambda (new-url) (lambda (new-url)
`(html (title ,title) `(html (title ,title)
(body (body
@ -20,24 +17,28 @@
,(make-submit-button))) ,(make-submit-button)))
(hr) (hr)
(p (URL "/" "Return to main menu.") (br) (p (URL "/" "Return to main menu.") (br)
(URL "add-surflet.scm" "Start new calculation."))))))) (URL "add-surflet.scm" "Start new calculation."))))))
(define (get-number title input-text)
(let* ((result (send-html/suspend
(create-input-page title input-text)))
(bindings (get-bindings result)) (bindings (get-bindings result))
(number (input-field-value number-input-field bindings))) (number (input-field-value number-input-field bindings)))
(if number (if number
number number
(get-number title "Please enter a valid number.")))) (get-number title "Please enter a valid number."))))
(define (get-number1) (define (get-number-1)
(get-number "Calculation - Step one" "First number:")) (get-number "Addition - Step one" "First number:"))
(define (get-number2) (define (get-number-2)
(get-number "Calculation - Step two" "Second number:")) (get-number "Addition - Step two" "Second number:"))
(define (main req) (define (main req)
(send-html (send-html
`(html (title "Result") `(html (title "Result")
(body (h2 "Result") (body (h2 "Result")
(p ,(number->string (+ (get-number1) (get-number2))) (p ,(+ (get-number-1) (get-number-2))
(hr) (hr)
(p (URL "add-surflet.scm" "Make new calculation.") (br) (p (URL "add-surflet.scm" "Make new calculation.") (br)
(URL "javascript:history.go(-2)" "New calculation (same session)") (URL "javascript:history.go(-2)" "New calculation (same session)")