Javascript - 无法获得文字字段

时间:2015-04-29 23:03:05

标签: javascript html json

我正在尝试根据表单中提供的电子邮件创建将搜索json占位符用户列表的应用程序,并且出于测试目的,我将搜索结果的结果打印到控制台。

这是我正在使用的javascript:

<script type="text/javascript">
var mail = document.getElementById("mail").value;
var root = 'http://jsonplaceholder.typicode.com/users?email=';
$.ajax({
    url : root + mail,
    method : 'GET'
}).then(function(data) {
    document.getElementById("ime").value = data[0].name;
});
</script>

当我直接在代码中输入邮件时,它可以正常工作:

mail='Sincere@april.biz';

但是当我使用getElementById时,它会将空行打印到控制台。不是空的,空的,只是为了澄清。

我尝试了另一种获取邮件的方法:

var mail = "<c:out value="${param.email}" />";

现在,这里发生的是打印出我想要的东西。如果我连续两次提交相同的邮件。我无法弄清楚为什么会这样。

我也会添加我的表格,也许错误就在那里:

<form
            action="<%=response.encodeURL(request.getContextPath()
                + "/upisKorisnika.html")%>"
            method="POST">
            <table id='userInput' class="display" border="0"
                style="font-family: Arial; font-size: 18px;">
                <tr>
                    <td><c:out value="Ime: " /></td>
                    <td><input type="text" name="ime"></td>
                </tr>
                <tr>
                    <td><c:out value="Prezime: " /></td>
                    <td><input type="text" name="prezime"></td>
                </tr>
                <tr>
                    <td><c:out value="E-mail: " /></td>
                    <td><input type="text" id="mail" name="email"></td>
                </tr>

                <tr>
                    <td colspan="2" style="text-align: center"><input
                        type="submit" name="unesiButton" value="Unesi"></td>
                </tr>
            </table>
            <input type="hidden" id="ime" name="imePretraga" />
        </form>

如果有任何帮助,我将不胜感激,我坚持了几个小时。

根据评论,我尝试在提交按钮上运行脚本:

<script type="text/javascript">
function submitform(){
var mail = document.getElementById("mail").value;

var root = 'http://jsonplaceholder.typicode.com/users?email=';
$.ajax({
    url : root+mail,
    method : 'GET'
}).then(function(data) {
    document.getElementById("ime").value = data[0].name;
});
document.getElementById("myForm").submit();
}
</script>

这是按钮:

<button onClick="submitform()">Unesi</button>
                        </td>

我已经为表单添加了id,用于提交。它仍然无法正常工作。我很确定它是这样的,因为它没有正确收到邮件。任何可能的建议,为什么会这样?

1 个答案:

答案 0 :(得分:0)

Alrightie。所以我对此有一些个人经验,因为我正在尝试编写HTML文件,包括javascript。我有一个标签,并希望用户单击我制作的按钮,它将从表单中获取值。经过几个小时的研究,我发现了

的变体
document.getElementById()

这个变种是

document.getElementById().value

给定一个带有id的html表单,调用我列出的第二个函数(.value一个),用括号中的表单的id表示id。这将从表单中获取任何文本。

EG

<br />
<form>
Input text here
<input id="testform" type="text">
</form>
<button onClick="submitform()">Submit</button>
<script>
function submitform(){
form_data=document.getElementById("testform").value;
}
</script>

所以上面的内容是HTML输入,当单击该按钮时,它将form_data变量设置为表单内容的值。所以如果用户在表单中输入“name”,那么form_data =“name” 希望有所帮助。

记住

document.getElementById().value