function changeVcode(){ $("#cpacha-img").attr("src",'../system/get_cpacha?vl=4&w=173&h=33&type=accountLoginCpacha&t=' + new Date().getTime()); } $(document).ready(function(){ $("#bt_login").click(function(){ var name = $("#name").val(); var password = $("#password").val(); var vcode = $("#vcode").val(); if(name == '' || password == '' || vcode == ''){ alert('请填写完成信息再提交!'); return; } $.ajax({ url:'login', type:'post', dataType:'json', data:{name:name,password:password,vcode:vcode}, success:function(data){ if(data.type == 'success'){ window.location.href = 'index'; }else{ alert(data.msg) changeVcode(); } } }); }) });
时间: 2023-06-17 14:07:14 浏览: 47
这是一个使用 jQuery 实现的登录表单提交的代码。在页面加载完成后,当用户点击登录按钮时,会获取用户名、密码和验证码的值,并将它们作为数据通过 AJAX 请求发送到服务器。如果服务器返回的数据中包含成功信息,则跳转到主页;否则,弹出错误信息并刷新验证码。其中,刷新验证码的函数是 `changeVcode`,它会通过修改验证码图片的 src 属性来实现。
相关问题
$('#myiframe').attr('src', urlimg); 后 怎么获取 html
使用 `$('#myiframe').contents().find('html').html()` 可以获取到 `#myiframe` 中的 HTML 内容。
具体实现方式可以参考以下 jQuery 代码示例:
```javascript
// 设置 iframe 的 src 属性
$('#myiframe').attr('src', urlimg);
// 等待 iframe 加载完成
$('#myiframe').on('load', function() {
// 获取 iframe 中的 HTML
var iframeHtml = $('#myiframe').contents().find('html').html();
console.log(iframeHtml);
});
```
在上面的代码中,我们首先使用 `$('#myiframe').attr('src', urlimg)` 设置了 `#myiframe` 的 `src` 属性为 `urlimg`。然后监听 `#myiframe` 的 `load` 事件,等待它加载完成。
当 `#myiframe` 加载完成后,我们使用 `$('#myiframe').contents().find('html').html()` 获取其中的 HTML,并将它输出到控制台中。
$('#myiframe').attr('src', urlimg) 中的html 无法获取
如果您将一个新的 URL 赋值给 iframe 的 src 属性,那么原来 iframe 中的内容会被新的 URL 的内容所替换。因此,如果您在赋值之后立即尝试获取 iframe 中的 HTML 内容,可能会获取到一个空字符串或者一个错误的值。
您可以在 iframe 的 onload 事件中获取新的 HTML 内容,如下所示:
```javascript
$('#myiframe').attr('src', urlimg);
$('#myiframe').on('load', function() {
var htmlContent = $(this).contents().find('html').html();
console.log(htmlContent);
});
```
在上面的代码中,我们将新的 URL 赋值给了 iframe 的 src 属性,并添加了一个 onload 事件的监听器。当 iframe 加载完成后,onload 事件就会被触发,然后我们就可以获取到新的 HTML 内容了。
注意,由于 iframe 中的内容可能是来自不同的域名,因此在获取 iframe 中的 HTML 内容时,可能会遇到跨域问题。如果您在获取 HTML 内容时遇到了跨域问题,可以使用 postMessage 方法进行跨域通信,或者使用服务器端代理获取 iframe 中的数据。