首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript错误,窗体不显示

JavaScript错误,窗体不显示
EN

Stack Overflow用户
提问于 2013-11-26 08:27:09
回答 3查看 84关注 0票数 0

我需要使用java脚本输出一个表单,我必须事先检查输入信息(密码)是否等于"0“,如果是真的--为了输出form.Help me,谢谢!

以下是表单代码:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<h1> Please enter your password</h1>
<input id="password" type="number">
<input type="button" value="Submit" onclick="doStuffe()">

JavaScript:

代码语言: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> 
    };

}   
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-26 08:31:09

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

代码语言:javascript
复制
if (password==0) {
        document.write('testoutput');
        document.write("<form >");
        document.write("First Name: <input type='text' id='firstname' /><br />");

        //...
        document.write("</form >"); 
};
票数 1
EN

Stack Overflow用户

发布于 2013-11-26 08:34:02

你可以这样做:

1)创建一个enpty div,一旦用户正确登录,它将保存您的表单:

代码语言:javascript
复制
<div id="form-container"></div>

2)在form-container中添加表单,使用js:

代码语言:javascript
复制
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;

    ...
}
票数 0
EN

Stack Overflow用户

发布于 2013-11-26 08:36:27

您正在脚本标记中混合JavaScript和HTML语法。

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

代码语言: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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20211851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档