submit怎么绑定单击事件

submit怎么绑定单击事件,第1张

这个是js回传的比较典型的例子吧,其实还有个办法比回传简单,就是做个服务器端的按钮,然后在账号和密码处加客户端的验证控件。

至于js回传,去看看__dopostback()函数,都说了就没有意思了,自己看下吧 挺简单。

实在没头绪你就创建个LinkButton,然后双击后运行,在ie页面代码中看看系统是怎么写的

表单提交有很多方法:

一、最常见的就是type="submit"的按钮触发form的onsubmit事件

<scripttype="text/javascript">

function validateForm(){

if(document.reply.title.value== ""){ //通过form名来获取form

alert("pleaseinput the title!")

document.reply.title.focus()

returnfalse

}

if(document.forms[0].cont.value== ""){ //通过forms数组获取form

alert("pleaseinput the content!")

document.reply.cont.focus()

returnfalse

}

returntrue

}

<formname="reply" method="post" onsubmit="returnvalidateForm( )">

<input type="text"name="title" size="80" /><br />

<textarea name="cont"cols="80" rows="12"></textarea><br />

<input type="submit"value="提交" >

</form>

注意:

1.onsubmit属性内容一定要有return关键字,否则函数会直接执行,不会返回

2.validateForm一定要返回一个boolean类型的返回值

3.提交按钮要写成submit类型的

二、利用input类型为submit组件的onclick()函数

1.将上面form标签中的onsubmit="return validateForm()"属性,去掉。

2.为“提交”按钮添加onclick事件,如下:

<input type="submit" value="提交" onclick="return validateForm()">

三、利用button组件的onclick()函数,手动提交

<script type="text/javascript">

function modifyItem() {

if (trim(document.getElementById("itemName").value) == "") {

alert("物料名称不能为空!")

document.getElementById("itemName").focus()

return

}

with (document.getElementById("itemForm")) {

method = "post"

action = "item.do?command=modify&pageNo=${itemForm.pageNo}"

submit()

}

}

//返回

function goBack() {

window.self.location = "item.do?command=list&pageNo=${itemForm.pageNo}"

}

</script>

<form name="itemForm" id="itemForm">

<input name="itemNo" type="text" id="itemNo" value="${ item.itemNo }" >

<input name="itemName" type="text" id="itemName" value="${ item.itemName }" >

<input name="btnModify" type="button" id="btnModify" value=“修改" onclick="modifyItem()">

</form>

注意:

1.提交时,设置form的action和method属性,然后利用form.submit()函数提交。

submit绑定在form表单上添加指定的事件句柄以便该form被提交的时候执行定义的JavaScript 函数。只能用在表单form元素上。

当你使用submit绑定的时候, Knockout会阻止form表单默认的submit动作。换句话说,浏览器会执行你定义的绑定函数而不会提交这个form表单到服务器上。可以很好地解释这个,使用submit绑定就是为了处理view model的自定义函数的,而不是再使用普通的HTML form表单。如果你要继续执行默认的HTML form表单 *** 作,你可以在你的submit句柄里返回true。

例子

隐藏代码

<form data-bind="submit: doSomething">

... form contents go here ...

<button type="submit">

Submit

</button>

</div>

<script type="text/javascript">

var viewModel = {

doSomething: function(formElement) { // ... now do something}}

</script>

这个例子里,KO将把整个form表单元素作为参数传递到你的submit绑定函数里。 你可以忽略不管,但是有些例子里是否有用,参考:ko.postJson工具。

为什么不在submit按钮上使用click绑定?

在form上,你可以使用click绑定代替submit绑定。不过submit可以handle其它的submit行为,比如在输入框里输入回车的时候可以提交表单。

参数

主参数

你绑定到submit事件上的函数

你可以声明任何JavaScript函数 – 不一定非要是view model里的函数。你可以声明任意对象上的任何函数,例如: submit: someObject.someFunction。

View model上的函数在用的时候有一点点特殊,就是不需要引用对象的,直接引用函数本身就行了,比如直接写submit: doSomething就可以了,而无需写成: submit: viewModel. doSomething(尽管是合法的)。

其它参数

备注:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11615349.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存