2010-12-23 6 views

답변

0

나는 이것을 직접 수행 할 방법이 없다고 생각합니다. 하나의 옵션은 web2py로 생성 된 HTML을 조작하는 것입니다. 단지 문자열 일뿐입니다. 제 생각에는 jQuery의 $ (document) .ready() 함수를 사용하여 이벤트를 바인딩하는 것입니다. 형태와

db.define_table('image', 
    Field('name'), 
    Field('file', 'upload')) 

: (가장 간단한 방법) 뷰에 포함 된

def upload_image(): 
    return dict(form=crud.create(db.image)) 

:

는 데이터베이스 테이블 (모든 web2py의 문서에서 도난)을 말해봐
{{=form}} 

그리고 이름 입력 필드 (보기에 추가됨)에 onblur 핸들러를 추가하려고합니다 :

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#image_name").blur(function(){ 
     // do something with image name loses focus... 
    }); 
}); 
</script> 
+0

아이디어에 감사드립니다. 다른 경우에 유용 할 수 있습니다. – Bob

4

물론 방법이 있습니다. 적절한 방법은 잘못된 대답을 추측 할 수있는 일반적인 스택 오버플로 사용자와는 달리 web2py 메일 링리스트에서 방법을 알고있는 사람들에게 물어 보는 것입니다.

db.define_table('image', 
    Field('name'), 
    Field('file', 'upload')) 

당신은 요소는 CSS3/jQuery를 구문을합니다

def upload_image(): 
    form=crud.create(db.image) 
    form.element(name='file')['_onchange']='... your js here ...' 
    form.element('form')['_onsubmit']='... your js here ...' 
    return dict(form=form) 

을 수행 할 수 있습니다 (하지만이 파이썬에서 평가) : :-)

어쨌든, 당신은 가정합니다.

+2

나의 사과, 그냥 도우려고 노력하고 나는 꽤 savy web2py 사용자라고 생각했다 (나는 작업 창 부품을했다). 나는 메일 링리스트를 통해 stackoverflow를 해고하지 않을 것이고, stackoverflow는 훨씬 더 재미있다 :) – Mark

+0

고마워! 그것이 문서에 있다면 좋을 것입니다 – Bob

+0

@ 마크, 사과 할 필요가 없습니다. 당신의 대답은 좋았습니다. 문제를 효과적으로 해결합니다. 컨트롤러가 사실 이러한 속성을 설정하는 올바른 위치에 있음을 확신하지 못합니다. @Bob, 요소는 문서에 있지만 예제에서는 onchange와 onsubmit이 아닌 다른 속성을 사용합니다. – mdipierro