如何运行由jquery attr添加到onsubmit属性的函数



我正在处理一个页面,我想在提交表单时做点什么;这是形式:

<form class="tsf" action="/search" style="overflow:visible" id="tsf" method="GET" name="f" onsubmit="return q.value!=''" role="search">

我写这段代码只是为了在return q.value!='' 之前添加一个新功能

$("#tsf").attr('onsubmit', "do_something(); return q.value!=''");

之后我定义了do_something:

function do_something(){
   alert("success");
}

但控制台返回错误:

未捕获引用错误:do_something未定义

如何使用这种方式调用和运行此函数(do_something)

注意:由于某些原因,我只能将我的函数添加到onsubmit,我只是在寻找一种以这种方式运行do_something()的方法

也许你可以先设置它,然后创建一个新的处理程序

function do_something(){
   alert("success");
}
function attachNewMethod()
{
  $('#tsf').prop('onclick',null).off('click');
  $("#tsf").attr('onsubmit', "do_something(); return q.value!=''");
}

更新的fiddle

最新更新