该功能不起作用
the function is not working
好吧,所以我正在进行表单验证,这个JS中的一切都很好,但现在我在输出中遇到了一个问题,我正在尝试显示所有选择的数据。所以我使用了action属性并调用了以下函数:
function funcs()
{
var favor = document.reg.favor[selectedIndex].value; //Select input
var fname = document.reg.fname.value; // text input
var lname = document.reg.lname.value; // text input
var email = document.reg.email.value; // text input
var pass = document.password.value; //text input
for(i=0;i<document.reg.rad.length;i++)
{
if(document.reg.rad[i].checked == true)
{
var rad = document.reg.rad[i].value; // Radio input
}
}
if(document.reg.bike.checked == true)
{
var bike = document.reg.bike.value; //CheckBox input
}
if(document.reg.car.checked == true)
{
var car = document.reg.car.value; //CheckBox input
}
document.write('<head><link type="text/css" rel="stylesheet" href="registrationtable.css"/></head><body>');
document.write("<div class = 'team'>");
document.write('<table>');
document.write("<tr><td> שם פרטי: </td><td>" + fname + "</td></tr> <tr><td> שם משפחה: " + lname + "</td></tr> <tr><td> אימייל: " + email + "</td></tr> <tr><td> סיסמא: " +pass +"</td></tr>");
document.write("<tr><td> השחקן האהוב עליך הוא " + favor +"</td></tr>");
document.write("</table>");
document.write("</div></body>");
}
这是表格标题:
<form name ="reg" action ="Javascript:funcs()" onsubmit ="return checkValidation()">
我想澄清的是,所有其他javascript代码都运行得很好,它一定是这个函数的一部分当我按下发送按钮时,它不会起任何作用。有人知道问题出在哪里吗?提前感谢。
您不能不应该在action
属性中有javascript函数,它需要是一个URI。如果验证成功,您可以直接调用funcs
onsubmit
。
正如Aquinas所表明的那样,在action属性中调用javascript函数实际上是可能的,因此建议不要将js代码放入action属性中。
正如我所怀疑的那样。一个问题是这条线:
var favor = document.reg.favor[selectedIndex].value;
应该是
var favor = document.reg.favor[document.reg.favor.selectedIndex].value;
你的第二个问题是:
var pass = document.password.value;
应为:
var pass = document.reg.password.value;
请参阅更新的fiddle:http://jsfiddle.net/x7SBy/1/
最后,您应该使用Firefox并下载Firebug。它对于调试这样的JS问题是非常宝贵的。
编辑:你的JS还有其他问题,我不会详细讨论,但总的来说,你不想使用document.reg.password,因为这样的问题。你真的应该使用document.getElementById。仅供参考。
看起来您正在尝试验证表单,如果有效,则调用funcs
函数来更改页面上的HTML。
也许是这样的:
<form name="reg" action="" onsubmit="checkValidation()">
然后使用checkValidation
函数暂停表单提交,如果有效,则调用funcs
函数:
function checkValidation(e) {
e.preventDefault();
if (checkValidation()) {
funcs();
}
}
但如果是这种情况,那么funcs
函数不应该编写<head>
标记之类的内容。也许您可以将HTML添加到主体中,而不是尝试使用javascript将新的HTML文档放置到DOM中。
替代解决方案:
function checkValidation() {
... do your validation
return true; // or false if invalid
}
然后在form
的动作标记中使用一个真正的HTML页面/资源。
- 使用复杂数组时Jquery自动完成功能不起作用
- 为什么我的流星每个功能都不起作用
- jQuery点击功能在获取请求后不起作用
- 切换功能不起作用
- 为什么不是'我的修剪功能不起作用
- Angular UI Select2指令搜索功能不起作用
- j查询点击功能在手风琴菜单链接上不起作用
- 为什么这个排序功能在 Safari 中不起作用
- 控制器功能在 Angular.js 中不起作用
- AngularJS 路由功能不起作用
- JavaScript更新功能不起作用
- ScriptX 打印功能在 IE8 中不起作用
- JS表单验证功能不起作用
- 本地存储功能中的图像不起作用
- 复选框树视图功能不起作用
- Web音频-AudioParam调度功能不起作用
- 功能的禁用/启用按钮;不起作用
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- 复选框单击功能不起作用
- Ckeditor插件功能在使用setData(“hai”)之后不起作用;