2016-09-15 7 views
0

送信時にテキストを変更してフォームのボタンを無効にしたいと思います。以下のコードは動作しません。..JQUERY投稿時にボタンを無効にしてボタンに挿入してください

// DISABLE SUBMIT BUTTON ON CLICK 
$('#contactform').submit(function() { 
    $(this).find("button[type='submit']").text("<i class="fa fa-cog fa-spin fa-3x fa-fw"></i>"); 
    $(this).find("button[type='submit']").prop('disabled',true); 
}); 

EDIT

は、HTMLは次のとおりです。

<button type="submit" id ="myButtonLead" name="myButtonLead" class="btn form-cta"> 
    RICHIEDI INFORMAZIONI</br> 
    <p class="sub">&Egrave; GRATIS!</p> 
</button> 

期待される動作は、(フォントと現在のテキストを置き換えるボタンのHTMLコンテンツを変更することですすごいアイコン)。 何かヒント? :)

+0

あなたの期待する行動は?テキストコンテンツを設定するか、HTMLボタンのコンテンツを変更しますか?期待されるHTMLマークアップを提供する –

+0

https://jsfiddle.net/8c08a5jc/1/ – Tyr

+0

'text()'ではなく 'html()'を使用し、文字列内に関連する引用符を使用する –

答えて

1
.text("<i class="fa fa-cog fa-spin fa-3x fa-fw"></i>"); 

.html("<i class='fa fa-cog fa-spin fa-3x fa-fw'></i>"); 

である必要があり、より理解するために、スニペットの下に確認してください。

// DISABLE SUBMIT BUTTON ON CLICK 
 
$('#contactform').submit(function() { 
 
    $(this).find("button[type='submit']").html("<i class='fa fa-cog fa-spin fa-3x fa-fw'></i>"); 
 
    $(this).find("button[type='submit']").prop('disabled',true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="contactform"> 
 
    <button type="submit" id ="myButtonLead" name="myButtonLead" class="btn form-cta"> 
 
    RICHIEDI INFORMAZIONI</br> 
 
    <p class="sub">&Egrave; GRATIS!</p> 
 
    </button> 
 
</form>

+0

'.html()'を使う必要があります'text()'編集:うまくいけば、実際にOPが期待している動作は何ですか? –

+0

'

+0

は、テキストをエスケープされたHTMLに置き換えます。 – davideghz

1

あなたは、このようにそれを行うことができます。

// DISABLE SUBMIT BUTTON ON CLICK 
$('#contactform').submit(function() { 
    $(this).find('button[type="submit"]').html('<i class="fa fa-cog fa-spin fa-3x fa-fw"></i>'); 
    $(this).find('button[type="submit"]').prop('disabled',true); 
}); 

私のアドバイスは、引用符の使用と一致しています。一重引用符で常に始めることをお勧めします。必要に応じて二重引用符を使用するか、\"をエスケープしてください。

関連する問題