我正在尝试根据表单中提供的电子邮件创建将搜索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,用于提交。它仍然无法正常工作。我很确定它是这样的,因为它没有正确收到邮件。任何可能的建议,为什么会这样?
答案 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