1

入力に関する主な問題は、:before と :after のどちらも使用できないことです。入力ボタンの CSS を他の と一致させる必要がありますが、css だけではほとんど不可能です。

送信ボタンとして機能する onclick="" 属性を持つシンプルなものを使用する方がはるかに簡単だと思っていましたが、これが良いアイデアか悪いアイデアかはわかりません。たとえば、入力として使用すると、SEO やブラウザーによって悪いものとして認識される可能性があると考えていましたが、毎日 JavaScript でフォームを送信しています。

送信ボタンのような要素を使用することは推奨されませんか?

また、すべてのフォームで機能する 1 つのスニペットを作成できるように、div の周りにフォームを送信するように JS に指示するにはどうすればよいですか? これは機能しますか?

<div onclick="this.submit()"></div>
4

6 に答える 6

2

jQuery を使用したくない場合は、純粋な JS でこのトリックを実行します。

HTML:

<div onclick="submitButton(this)"></div>

脚本:

function submitButton (element) {
    while(element.parentElement !== document.body) {
        if (element.parentElement.tagName.toLowerCase() === 'form') {
            element.parentElement.submit();
            return;
        } else {
            element = element.parentElement;
        }
    }
    return;
}
于 2012-11-22T08:27:42.997 に答える
1

jQuery submit メソッドが役立つ場合があります。

$('element').onclick(function(){
$('form:first').submit();
});

http://api.jquery.com/submit/

于 2012-11-22T08:25:20.767 に答える
1
 <div onclick="document.forms[0].submit();"></div> 
于 2012-11-22T07:57:12.697 に答える
1

使用できます

<div onclick="document.myform.submit()"></div>

div がフォーム要素の子である場合は、使用できます

 <div onclick="this.parentNode.submit()"></div>

ただし、jQuery などのフレームワークを使用して送信を処理することもできます。

$('#divId').onclick(function(){
    $('#formId').submit();
});
于 2012-11-22T07:50:00.193 に答える
1

また、すべてのフォームで機能する 1 つのスニペットを作成できるように、div の周りにフォームを送信するように JS に指示するにはどうすればよいですか? これは機能しますか?

this.parentNode.submit();

私が知らない他のもの。JavaScript をまったく使用せず、css :before と :after のみを使用してコンテンツを挿入したいのですが、ボタンと入力またはボタン タイプの送信にはそれらの css プロパティがありませんか?

于 2012-11-22T08:03:02.720 に答える
1

もありますが、それが CSSで<button type='submit'>Submit</button>動作するかどうかはわかりません。JavaScript でより強力なことをしたい場合は、 jQueryを調べる必要があります。ここでの状況に最適なようです。:before:after

于 2012-11-22T08:12:00.983 に答える