Javascript 将HTML表单操作从';HTTPS';至';HTTP';使用JQuery
我在HTML页面上有几个表单,如下所示:Javascript 将HTML表单操作从';HTTPS';至';HTTP';使用JQuery,javascript,jquery,forms,Javascript,Jquery,Forms,我在HTML页面上有几个表单,如下所示: <form class="pagination" action="https://www.myaction.com" method="post"> ... </form> <form class="pagination" action="https://www.myaction.com" method="post"> ... </form> <form class="pagination" actio
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
$('.pagination').each(function() {
var url = $(this).attr('action').replace('https', 'http');
$(this).attr('action', url);
});
但那没用。还有其他简单的想法吗 这样做:
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
$('.pagination').each(function() {
var url = $(this).attr('action').replace('https', 'http');
$(this).attr('action', url);
});
如果只使用一个参数调用attr,jQuery将理解您希望读取该值。如果您使用两个参数调用它,它将知道您想要设置值。这样做:
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
<form class="pagination" action="https://www.myaction.com" method="post">
...
</form>
$('.pagination').each(function() {
var url = $(this).attr('action').replace('https', 'http');
$(this).attr('action', url);
});
如果只使用一个参数调用attr,jQuery将理解您希望读取该值。如果您使用两个参数调用它,它将知道您想要设置该值。您所做的只是更改一个字符串,但不影响dom元素本身 尝试: 使用
attr()
的函数参数将循环所有匹配的选择器,提供索引和现有值作为参数
参考您所做的只是更改字符串,但不影响dom元素本身 尝试: 使用
attr()
的函数参数将循环所有匹配的选择器,提供索引和现有值作为参数
参考您可以使用以下内容:
$(document).ready(function() {
$('form.pagination').attr('action', function() {
return this.action.replace(/https:/i, 'http:');
});
});
功能输出(sel){
$('.pagination')。每个(函数(){
$(sel).append(this.action+'\n');
});
}
$(文档).ready(函数(){
out('before');
$('form.pagination').attr('action',function()){
返回此.action.replace(/https:/i,'http:');
});
out('after');
});代码>
...
...
...
之前
在
之后,您可以使用以下命令:
$(document).ready(function() {
$('form.pagination').attr('action', function() {
return this.action.replace(/https:/i, 'http:');
});
});
功能输出(sel){
$('.pagination')。每个(函数(){
$(sel).append(this.action+'\n');
});
}
$(文档).ready(函数(){
out('before');
$('form.pagination').attr('action',function()){
返回此.action.replace(/https:/i,'http:');
});
out('after');
});代码>
...
...
...
之前
在
之后,他们认为你的做法是错误的,应该是:
$('.pagination').attr('action', $('.pagination').attr('action').replace('https', 'http'));
他们认为你这样做是错误的,应该是:
$('.pagination').attr('action', $('.pagination').attr('action').replace('https', 'http'));
使用正则表达式解释案例的好主意,即使在技术上看起来有点过分。使用正则表达式解释案例的好主意,即使在技术上看起来有点过分。如果表单具有不同的操作
值,如果表单具有不同的操作
值,则将其设置为与来自第一个遇到的表单的值相同。如果表单具有不同的值,则将其设置为与来自第一个遇到的表单的值相同完美!非常感谢。很好的解释!完美的非常感谢。很好的解释!