Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将HTML表单操作从';HTTPS';至';HTTP';使用JQuery_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 将HTML表单操作从';HTTPS';至';HTTP';使用JQuery

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

我在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" 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')); 

使用正则表达式解释案例的好主意,即使在技术上看起来有点过分。使用正则表达式解释案例的好主意,即使在技术上看起来有点过分。如果表单具有不同的
操作
值,如果表单具有不同的
操作
值,则将其设置为与来自第一个遇到的表单的值相同。如果表单具有不同的
值,则将其设置为与来自第一个遇到的表单的值相同完美!非常感谢。很好的解释!完美的非常感谢。很好的解释!