繁体   English   中英

如何在onclick中添加fontawesome微调器?

[英]How to add fontawesome spinner inside onclick?

所以我在php echo中有这个代码;

<input type="submit" value="Send Love" class="btn btn-primary" onclick="this.form.submit(); this.disabled=true; this.value=\\'Sending Love…\\';" />

如您所见,文本将在onclick上更改,按钮将被禁用,表单将被提交。 但我正在尝试做的是添加一个fontawesome旋转器除了发送,所以按钮将在提交时有一个微调器。 我尝试添加它,但它没有显示,它打破了代码的输出; 我也尝试使用'\\'\\ like与发送但它仍然没有显示,并且onclick功能被破坏。

<input type="submit" value="Send Love" class="btn btn-primary" onclick="this.form.submit(); this.disabled=true; this.value=\\'<i class="fa fa-spinner fa-spin"></i> Sending Love…\\';" />

所以任何人都可以帮我解决这个问题? 真的想添加那个微调器。 提前致谢!

你必须拿<button ... > 试试这个:

<button type="submit" class="btn btn-primary" onclick="sendLove(this);" > Send Love</button>

<script>
function sendLove(this1)
{
  //alert('asdasd');
  this1.disabled=true; 
  this1.innerHTML='<i class="fa fa-spinner fa-spin"></i> Sending Love…';
}
</script>

您好,这里是完整的工作示例..

https://jsbin.com/bezomapeba/edit?html,js,console,output

使用Chay22的使用jquery点击的建议使其工作

按钮:

<button type="submit" id="sendbtn" class="btn btn-primary">Send Love</button>`

脚本:

$('#sendbtn').click(function(){
this.form.submit();
this.disabled=true;
this.innerHTML='<i class="fa fa-spinner fa-spin"></i> Sending Love…';
});

问题是浏览器的一部分,因为他认为它是html并处理它,尝试用js做这个, echo '<input type="submit" value="Send Love" class="btn btn-primary" onclick="this.form.submit(); this.disabled=true; this.value=\\'<i class="fa fa-spinner fa-spin">Sending Love…</i>\\';>';

JavaScript的方式

希望这有用而且更好。 在提交按钮上方添加div

<div class="loading" style="display: none;"><i class="fa fa-spinner fa-spin"></i> Progressing …</div>

或添加如下所示的按钮

<button type="submit" class="btn btn-primary"><i style="display:none" class="fa fa-spinner fa-spin loading"></i> Send Love</button>

$(document).ready(function(){
   $("#sendbtn").click(function(){  // your submit button id
      var isValid = document.querySelector('#myform')
      if (isValid.checkValidity())
        $(".loading").show();
   });
});

最小,轻量级和可重用我们制作了一个自定义的jQuery.fn:

jQuery.fn.extend({
    spin: function () {
        this.data("original-html", this.html());
        var i = '<i class="fa fa-spinner fa-pulse fa-3x fa-fw" style="font-size:16px; margin-right:10px"></i>';
        this.html(i + this.html());
        this.attr("disabled", "disabled");
    },
    reset: function () {
        this.html(this.data("original-html"));
        this.attr("disabled", null);
    }
});

这可以使用如下:

$("button").click(function () {
    var b = $(this);
    b.spin();
    $.ajax({
        url: "",
        button: b,
        success: function (result) {
            // do something
            b.reset();
        }
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM