jsp 中用js提交表单并关闭本窗口的问题。

JavaScript0139

jsp 中用js提交表单并关闭本窗口的问题。,第1张

1、在html中的表单form设置属性action='#'防止自动提交 2、利用js获取html中表单form,重新设置表单的action 3、action设置完毕后调用form.submit()方法提交表单 4、表单提交后利用window.close()关闭当前窗口

button按钮也可以的啊,一样的使用方法啊,在js中提交的,还是说你想根据不同的按钮将form1表单提交到不同的action里?

<script type="text/javascript">

function sub(){

document.form1.submit()

}

</script>

 <body>

   <form action="Getvalue" method="post" name="form1">

   <input type="text" name="username"><br/>

   <input type="password" name="password"><br/>

   <input type="button" value="button测试" onclick="sub()">

   </form>

 </body>

按照你的代码,我们先来分析一下原因。

首先,代码存在错误,flashelement变量是不存在的。会报错。

其次,JavaScript

应该写在DOM内容的后面。由于还没有渲染结束,直接获取元素,是无法获取到的。例如你页面中获取form标签。至少要让form标签被浏览器渲染了以

后,再去获取它。如果一定要将JavaScript代码写在head里,就需要增加页面加载完毕事件才可以。告诉浏览器,当页面全部渲染结束了以后再来执

行这段JavaScript代码。

根据你的代码,帮你稍微改动了一下。

示例如下:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

</head>

<body>

    <form id="form1">

        <input type="text" value="文本框" name="flashit" id="flashit">

    </form>

    <script type="text/javascript">

        var f=document.getElementById("form1")alert(f.flashit.value)

    </script>

</body>

</html>

运行结果:

JS清空表单有二种方法:遍历和reset;

分别如下:

方法1:遍历页面元素

/*

清空FORM表单内容 id:表单ID*/

function ClearForm(id) {

var objId = document.getElementById(id)

if (objId == undefined) {

return

}

for (var i = 0i <objId.elements.lengthi++) {

if (objId.elements[i].type == "text") {

objId.elements[i].value = ""

}

else if (objId.elements[i].type == "password") {

objId.elements[i].value = ""

}

else if (objId.elements[i].type == "radio") {

objId.elements[i].checked = false

}

else if (objId.elements[i].type == "checkbox") {

objId.elements[i].checked = false

}

else if (objId.elements[i].type == "select-one") {

objId.elements[i].options[0].selected = true

}

else if (objId.elements[i].type == "select-multiple") {

for (var j = 0j <objId.elements[i].options.lengthj++) {

objId.elements[i].options[j].selected = false

}

}

else if (objId.elements[i].type == "textarea") {

objId.elements[i].value = ""

}

//else if (objId.elements[i].type == "file") {

// //objId.elements[i].select()

// //document.selection.clear()

// // for IE, Opera, Safari, Chrome

// var file = objId.elements[i]

// if (file.outerHTML) {

// file.outerHTML = file.outerHTML

// } else {

// file.value = ""// FF(包括3.5)

// }

//}

}

}

方法2:使用 reset 按钮

页面中增加:

<!--用来清空表单数据-->

<input type="reset" name="reset" style="display: none" />

触发 reset 事件:

$("input[type=reset]").trigger("click")