0

重複の可能性:
PHP と JavaScript を使用する場合、チェックボックス名に括弧を使用しますか?

HTMLコードの入力フィールドの名前として使用します:

<input size="15" name="user[135][name]" value="" disabled=disabled>

次に、次のようにJavaScriptで操作したいと思います。

if(some_condition)  { document.myform.user[135][name].disabled=false; }

しかし、フィールド名に括弧があるため、それは機能しません。HTMLコードを変更せずに解決する方法はありますか?

経験: name を user_135_name として使用すると、すべてが完全に機能します。

助けてくれてありがとう。

マロス

4

4 に答える 4

0

名前に特殊文字を使用しないでください。必要なことは次のように行うことができます。

if(some_condition)  { 
    document.getElementsByName('user[135][name]')[0].disabled=false; 
}

ライブデモを見る: http://jsfiddle.net/Lw9ns/9/

于 2013-01-09T11:57:20.327 に答える
0

id次のように入力タグに追加することをお勧めします

<input size="15" id="user_name_135" name="user[135][name]" value="" disabled=disabled>

簡単な Javascript の使用

if(some_condition) { document.getElementById("user_name_135").disabled=false; }

jQuery の使用

if(some_condition){ $("#user_name_135").prop('disabled', false);}

また、ステートメントが 1 つしかない場合は、if省略できます。{}

if(some_condition) 
  document.getElementById("user_name_135").disabled=false; 

編集済み 次のコードを html ファイルとして保存し、動作することを確認してください

<!doctype html>
<html>
<head>
<script>
function some(){
  document.getElementById("user_name_135").disabled=false;
}
</script>
</head>
<body>
<input size="15" id="user_name_135" name="user[135][name]" value="" disabled=disabled>
<a href ="javascript:void(0)" onclick="some()">disbale input</a>
</body>
</html>
于 2013-01-09T11:49:11.450 に答える
0

私の唯一のアドバイスは、試さないことです。識別子に「特殊」文字を使用しないでください。他の目的で識別子を厳密なデータ形式にする必要がある場合は、それを専用の属性 ( などdata-xxx) に適用します。

解決策は、英数字と「基本」文字 (スペースの代わりにアンダースコアなど) のみを含む別の形式を使用することです。

于 2013-01-09T11:49:40.940 に答える
0

document.myform['user[135][name]']動作するはずですが、なぜそのような奇妙な名前を持っているのですか???

コードでトリングしている['name']のは、配列「ユーザー」の135番目のフィールドに名前プロパティ(ある場合)にアクセスすることです。

于 2013-01-09T11:49:57.103 に答える