【发布时间】:2017-02-08 08:58:00
【问题描述】:
我有一个文本区域,当请求到达页面时它将处于隐藏状态,一旦我选择页面中的值,我就会调用一个控制器方法,该方法执行操作并将响应返回到同一页面并在 ajax 成功我尝试在文本区域中打印响应的方法
这是我的 gsp 页面
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<title>Json Compare</title>
<g:javascript plugin="jquery" library="jquery"
src="jquery/jquery-1.11.1.js" />
<script>
$(document).ready(function(){
$('.testMe').click(function(){
var URL="${createLink(controller:'jsonComparison',action:'compare')}";
alert(URL)
alert(firstText.value)
alert(secondText.value)
$.ajax({
url:URL,
data: {firstText:firstText.value,secondText:secondText.value},
success: function(data){
var retrievedValue = JSON.parse(data);
alert("Parsed Values are: "+retrievedValue)
alert("Values are: "+retrievedValue.status)
//alert("success: "+retrievedValue.result)
if (retrievedValue.status===true) {
alert("inside the success: "+retrievedValue.result)
alert("the parsed values 1st data"+data.firstText)
$("#result").css("display","block")
$("#result").val(data.firstText)
//notice .html since it is content of textArea
//$('.textarea').html(retrievedValue.result)
//document.getElementById("textarea").style.display = "block"
//document.getElementById("textarea").innerHTML = data.result
//$('#textarea').val(retrievedValue.result).show()
// $('.textarea').css("display","");
//$('#result').attr('style', 'display:block');
//$('#testdiv').show()
//$('.textarea').toggle();
// $('#testdiv').attr('style', 'display:block');
//$('#testdiv').removeAttr("style");
//document.getElementById("result").style.display = "none";
} else { /// if (data===false ) {
alert("Failure: "+retrievedValue.value1+" "+retrievedValue.value2)
//$('#result1').html(entry.value1).show()
// $('#result2').html(entry.value2).show()
}
}
});
});
});
//event.preventDefault();
</script>
</head>
<body>
<g:form>
<div>
<label>From Time</label>
<g:select name="firstText" from="${eventsList}" noSelection="['':'-Choose the From Date-']" />
<label>To Time</label>
<g:select name="secondText" from="${eventsList}" noSelection="['':'-Choose the To Date-']" />
<button class="testMe">Compare</button>
</div>
<br>
<textarea id="result" style="display: none"></textarea>
<%--<div id="textarea">
<label>Output</label><br>
<textArea id="result" name="myField" />
<textarea></textarea>
</div>
--%></g:form>
</body>
</html>
一旦结果立即显示它就会消失如何停止它。以及如何根据控制器的响应显示结果不同的文本区域。最初 textarea 不应该是可见的
【问题讨论】:
-
在标签标签中使用
firstText和secondText作为id而不是name。然后使用$('#firstText').val()获取 firstText 的值(secondText 也是如此) -
@siam 我已经编辑了代码是否正确?尝试运行它仍然是一样的结果显示在文本区域并立即消失
-
@raghulc 这个网站是为了帮助你理解一些事情,让你离开去思考它。很多人以各种方式回答了你,所有这些都让你复制方法然后暗示它不起作用。我认为如果你想学习,你需要带走人们所说的,然后坐下来思考/测试和工作/从中设计一些东西。我仍然说这是家庭作业,因为我看不出为什么回复
box必须是textArea的特别原因,这让我觉得它的诡计和更有可能的分配工作。所以不要期望人们复制粘贴研究主题
标签: javascript jquery ajax grails