jQuery怎么给iframe赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery怎么给iframe赋值相关的知识,希望对你有一定的参考价值。

<iframe id="eWebEditor1" src="ewebeditor.htm?id=content1&style=standard600&skin=office2003" frameborder="0" scrolling="no" width="580" height="350"></iframe>


<INPUT type=button value="取值(HTML)" onclick="myTextArea.value=eWebEditor1.getHTML()" class=btn>
<INPUT type=button value="取值(纯文本)" onclick="myTextArea.value=eWebEditor1.getText()" class=btn>
<INPUT type=button value="赋值" onclick="eWebEditor1.setHTML('<b>Hello My World!</b>')" class=btn>
<INPUT type=button value="当前位置插入" onclick="eWebEditor1.insertHTML('This is insertHTML function!')" class=btn>
<INPUT type=button value="尾部追加" onclick="eWebEditor1.appendHTML('This is appendHTML function!')" class=btn>
<br>
<INPUT type=button value="代码状态" onclick="eWebEditor1.setMode('CODE')" class=btn>
<INPUT type=button value="设计状态" onclick="eWebEditor1.setMode('EDIT')" class=btn>
<INPUT type=button value="文本状态" onclick="eWebEditor1.setMode('TEXT')" class=btn>
<INPUT type=button value="预览状态" onclick="eWebEditor1.setMode('VIEW')" class=btn>
<br>
<INPUT type=button value="英文字数" onclick="alert(eWebEditor1.getCount(0))" class=btn>
<INPUT type=button value="中文字数" onclick="alert(eWebEditor1.getCount(1))" class=btn>
<INPUT type=button value="中英文字数(中文加1)" onclick="alert(eWebEditor1.getCount(2))" class=btn>
<INPUT type=button value="中英文字数(中文加2)" onclick="alert(eWebEditor1.getCount(3))" class=btn>

参考技术A 通过iframe对象的src属性来操作:
window.frames[0].document.location = "url";
或者iframe 对象id='myiframe'
$("#myiframe").attr("src","url");本回答被提问者和网友采纳

jquery ajax 在回调函数内 给变量赋值,为啥返回不出去?那要怎么处理

比如jquery代码如下
function UpdateModel()
var retVal = -1;//初始值
var model = new Object();
model.userID = $("#txtUserId").val();
model.UserName=$("#txtUserName").val();
MyTestAjaxWebservice.WebService.UpdateModel(
model,
function(data)
if (data > 0)
alert(data);//这里值为1。反正webservice里的方法是成功的,数据库也更新成功了。
retVal = data;//注意这里。。。。

, onFailed
);
alert(retVal);// 这里的值,永远都是-1也就是回调函数赋值不成功


这里是 webservice的方法:改方法是绝对可以成功执行的,请不要在此做文章。

[WebMethod]
public int UpdateModel(UserT model)

return sqlhelper.UpdateUser(model);

编程环境
ASP.NET 下

在jquery里异步请求时后面的代码不会等你的请求返回数据后再执行,也就是说alert(retVal);执行时你的ajax可能还没返回数据,也就是说你的全局变量retVal没有被重新赋值,也就是还是以前的那个-1,我以前也是这个问题 ajax为异步请求,顾名思义它的请求时跟你的js同时执行的,所以要对ajax返回结果进行相应的操作都是写在它的回调函数里,即: success:function(data)...里面,这样说你可能不太明白,举个例子
var re = 0;
function test()
alert(re);//num1
re = testAjax();
alert(re);//num3

function testAjac()
$.ajax(
type:"post",
url:"",
dataType:"json",
success:function(data)
re = 1
alert(re);//num2

);

上面执行alert的顺序肯定是num1,num3,num2,并且alert出来的值是0,0,1;
当然如果你的请求足够快(几乎不可能),快到比本页面还快,那么顺序就会是num1,num2,num3了
参考技术A 1 全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。
2 而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。本回答被提问者和网友采纳
参考技术B function UpdateModel()
var retVal = -1;//初始值
var model = new Object();
model.userID = $("#txtUserId").val();
model.UserName=$("#txtUserName").val();
MyTestAjaxWebservice.WebService.UpdateModel(
model,
function(data)
if (data > 0)
alert(data);//这里值为1。反正webservice里的方法是成功的,数据库也更新成功了。
retVal = data;//注意这里。。。。
alert(retVal + "ajax成功");
else
alert("不成功!");

, onFailed
);
//alert(...)不再写在ajax函数外面 因为当你alert的时候ajax还在执行 并没有执行到retVal = data;这一步,这就是ajax异步执行的特点 如果你要alert 必须在ajax函数里面。
参考技术C function(data)
if (data > 0)
alert(data);//这里值为1。反正webservice里的方法是成功的,数据库也更新成功了。
retVal = data;//注意这里。。。。

,
alert(retVal);// 这里的值,永远都是-1也就是回调函数赋值不成功
出了这个大括号 函数 当然失效了 永远都是-1啊 在里面还差不多...
参考技术D ajax的时候,回调函数实际上已经和原函数分离了。所以ajax的回调方法,要写在处理函数里面,而不是外面的函数里。

以上是关于jQuery怎么给iframe赋值的主要内容,如果未能解决你的问题,请参考以下文章

【新手】jquery iframe的src动态赋值问题

jquery怎么给label赋值

怎么用jquery给HTML的表格赋值?

使用jquery怎么根据ID给元素赋值

使用jquery怎么根据ID给元素赋值

用jquery 怎么给文本框赋值