Hello everyone.

Could you tell me how to create a new record in database without
submit buttons?
I actually would like to do it by the onclick event.
I know that I can call the ajax function like this.

  <input name="name" onClick="ajax('writing', ['title'], 'target')" />

But I don"t know what I have to write in the 'def:writing'.
My code implemented by a submit button is this.

<db.py>
db.define_table('article',
   Field('title'),
   Field('text')
   )

<post.py>
def writing():
  form = SQLFORM(db.article)
  if form.accepts(request.vars, session, formname='article_works'):
      response.flash = 'Done'
  elif form.errors:
      response.flash = 'Error'
  else:
      response.flash = 'Write something'
  return dict(formkeyvalue=form.formkey, message=response.flash)

<post/writing.html>
{{include 'web2py_ajax.html'}}
<form id='articlepost'>
<div>Title<input name='title' /></div>
<div>Text</div><textarea name='text'></textarea>
<input type="submit" />
<input value="{{=formkeyvalue}}" type="hidden" name="_formkey" />
<input type="hidden" name="_formname" value="article_works" />
</form>
{{=message}}

Reply via email to