私は次のフォームを持っています:
<form id="xx">
<button type="button">Submit</button>
<button type="button">Submit and Close</button>
<button type="button">Close</button>
</form>
「送信」という単語を含むボタンのタイプを「ボタン」タイプから「送信」タイプに変更するにはどうすればよいですか?
私は次のフォームを持っています:
<form id="xx">
<button type="button">Submit</button>
<button type="button">Submit and Close</button>
<button type="button">Close</button>
</form>
「送信」という単語を含むボタンのタイプを「ボタン」タイプから「送信」タイプに変更するにはどうすればよいですか?
私はあなたのボタンにIDがありました。たとえば「ボタン」これは次の方法で取得できます。
$('#button').prop('type', 'submit');
「送信」というテキストですべてのボタンの属性を変更したい場合、これは次の方法で実現できます。
$('button').each(function(){
if($(this).text().indexOf("Submit") != -1){
$(this).prop('type','submit');
}
});
$('button').filter(function(){
return $(this).text().toLowerCase().indexOf('submit') != -1;
}).prop('type','submit');
最初に「送信」をテキストとして持つボタンをフィルタリングしてから、プロパティを変更します。
ボタンにIDを作成し、次のことを行います
$('#buttonid').replaceWith($('#buttonid').clone().attr('type', 'submit'));
このようなものは機能するはずです(テストされていません):
$('button').each(function() {
if($(this).text().match(/submit/i)) {
$(this).prop('type', 'submit');
}
});
編集
これと、ここにある他のすべての回答はInternetExplorerでは機能しないことを指摘しておく価値があります。
注:jQueryはor要素のtype属性を変更することを禁止しており、すべてのブラウザーでエラーをスローします。これは、InternetExplorerではtype属性を変更できないためです。
(私もこれをテストしました。.prop()
エラーはスローされませんが、機能しません)