0

いくつかのフィールドを持つフォームがあり、JavaScriptを使用していくつかのフィールドをカスタマイズして次のことができるようにする必要があります。

  1. フィールド「city」に値「NewYork」を事前入力します

  2. フィールドを「メール」で読み取り専用にする

  3. 事前入力し、フィールド「国」を読み取り専用にします

ポイント1の結果を得るために、私はこのコードを使用しました。これはうまく機能します。

<script type="text/javascript">function on_form_loaded(event) {
if (event=='reserve')
document.getElementById('city').setAttribute("value", "New York");
}</script>

ポイント2の結果を得るために、私はこのコードを使用しました。これはうまく機能します。

<script type="text/javascript">function on_form_loaded(event) {
if (event=='reserve')
document.getElementById('email').readOnly=true;
}</script>

しかし、ポイント3の結果を得るために、事前入力/読み取り専用パラメーターを「混合」する方法がわかりません。

誰かが助けることができますか?

さらに、フィールドごとに1つのJavaScriptが含まれないように、コードを短くしたいと思います。私はいくつかのテストを行いますが、成功しませんでした。例を挙げていただければ...

4

2 に答える 2

1

何が欠けているのかわかりませんが、これを試してください

var country = document.getElementById('country');
country.value = "USA";
country.readOnly = true;

上記のコメントでjimjimmy1985が述べたように、マークアップでもこれを行うことができます

<input name="country" id="country" value="USA" readonly>
于 2013-02-08T01:13:54.007 に答える
0

form タグの属性として 'on...="on_form_loaded"' を使用していて、jQuery の追加に問題がないと仮定すると、以下を試すことができます。

<script type="text/javascript">
jQuery('#ID_OF_YOUR_FORM').ready( function(event) {
 if (event=='reserve') {
    var form_object = jQuery(this);
    form_object.find('#city').value('New York').end()
               .find('#country').value('USA').end()
               .find('#country, #email').attr('readonly', true);      
  }
});
</script>

ID_OF_YOUR_FORM は、フォームの個人 ID に置き換える必要があります。

于 2013-02-08T01:37:51.987 に答える