JavaScript错误,表单无法显示

时间:2013-11-26 08:27:10

标签: javascript html

我需要输出一个表单,使用java Script。我必须检查输入信息(密码)是否相等,例如“0”,如果是,则输出表格。请帮助我,谢谢! / p>

这是表单代码:

First Name: <input type='text' id='firstname' /><br />
Address: <input type='text' id='addr' /><br />
Zip Code: <input type='text' id='zip' /><br />
State: <select id='state'>
        <option>Please Choose</option>
        <option>AL</option>
        <option>CA</option>
        <option>TX</option>
        <option>WI</option>
    </select><br />
    Username(6-8 characters): <input type='text' id='username' /><br />
    Email: <input type='text' id='email' /><br />
    <input type='Submit' value='Check Form' />

这是整个代码:

HTML:

<h1> Please enter your password</h1>
<input id="password" type="number">
<input type="button" value="Submit" onclick="doStuffe()">

JavaScript:

function doStuffe()
{
    var namepassword = document.getElementById("password");
    var password = parseInt(namepassword.value);
    if (password==0) {
        document.write('testoutput');
        <form >
        First Name: <input type='text' id='firstname' /><br />
        Address: <input type='text' id='addr' /><br />
        Zip Code: <input type='text' id='zip' /><br />
        State: <select id='state'>
                <option>Please Choose</option>
                <option>AL</option>
                <option>CA</option>
                <option>TX</option>
                <option>WI</option>
            </select><br />
            Username(6-8 characters): <input type='text' id='username' /><br />
            Email: <input type='text' id='email' /><br />
            <input type='Submit' value='Check Form' />
            </form> 
    };

}   

3 个答案:

答案 0 :(得分:1)

您正在尝试将html放入javascript代码中。在这种情况下,您必须使用document.write()而不是纯HTML。它应该是这样的:

if (password==0) {
        document.write('testoutput');
        document.write("<form >");
        document.write("First Name: <input type='text' id='firstname' /><br />");

        //...
        document.write("</form >"); 
};

答案 1 :(得分:0)

您可以这样做:

1)在用户正确登录后,创建一个空的div来保存您的表单:

<div id="form-container"></div>

2)使用js:

附加到form-container表单
function doStuffe(){

    ...

    //--- Create the form string here
    var formString = "<form>" +
                       "First Name: <input type='text' id='firstname' /><br />" +
                       ...
                       "<input type='Submit' value='Check Form' />" +
                     "</form>";
    //--- Insert in the DOM
    document.getElementById("form-container").innerHTML = formString;

    ...
}

答案 2 :(得分:0)

您正在脚本标记中混合使用JavaScript和Html语法。

如果您想使用JavaScript动态创建表单,请执行以下操作:

var form = document.createElement("form");
form.setAttribute('method',"post");
form.setAttribute('action',"/action.url");

var s = document.createElement("input");
s.setAttribute('type',"text");
s.setAttribute('value',"firstname");

... // more input properties

form.appendChild(s);

document.getElementsByTagName('body')[0].appendChild(form);