この記事では、Webフォームの提出の無効な問題に対するJSソリューションについて説明します。参照のためにそれを共有してください。特定の分析は次のとおりです。
たとえば、次のようなフォームがあります
コードコードを次のようにコピーします
<入力名= "pname" type = "text" id = "pname" value = "xxx" size = "20" disabled = "disabled"/>
<input name = "but" type = "" id = "を送信しますが、" value = "xxx" size = "20"/>
</form>
フォームを送信すると、入力ボックスのプロパティが無効になっているため、バックグラウンドでPNAMEデータを取得できません。この関数には次のソリューションがあります。
1。disabled = "disabled"属性をreadonly = "readonly"に変更します。その機能は基本的に同じですが、Readonlyはフォーカスのイベントをサポートすることもできます。 (推奨使用)
コードコードを次のようにコピーします。
2. JSを使用して、フォームを送信するときに無効属性を変更する
コードコードを次のようにコピーします。
<script type = "text/javascript">
function submit_form(){
// javascript書き込み方法
document.getElementById( "pname")。disabled = "";
document.getElementById( "inputform")。submit();
// jQuery執筆方法
$( "#pname")。attr( "disabled"、false);
$( "#inputform")。送信();
}
</script>
3. JSでPNAMEの値を取得し、パラメーター形式で渡し、フォームのアクション値を変更します。もちろん、このようにして、パラメーター(getParameter)を取得するには、バックグラウンドコードを変更する必要があります。
次のようにコードをコピーします。<script type = "text/javascript">
function submit_form(){
// jQuery執筆方法
var pname = $( "#pname")。val();
$( "#inputform")。
$( "#inputform")。送信();
// javascript書き込み方法
var pname = document.getElementById( "pname")。value;
document.getElementById( "pname")。action = "shorttermrental.action?panme ="+pname+"&p ="+new date();
document.getElementById( "pname")。submit();
}
</script>
ちょっとしたヒント:スクリプト言語を書くとき、私たちは非常に簡潔であるため、一般的にjQueryの執筆に熱心です。 jQueryはJavaScriptをカプセル化し、HTML等価値を取得するときに正規表現マッチングを使用して取得します。
したがって、それは必然的に効率に影響を与えるため、多数のスクリプトがある場合は一般にJavaScriptを使用することをお勧めします。
この記事がみんなのJavaScriptプログラミングに役立つことを願っています。