0

通常は無効になっているテキストボックスが 2 つあります。ユーザーが編集ボタンを押すと、テキストボックスが有効になり、入力できるようになります。ただし、フォームを送信すると、ユーザーが入力した値がphpコードに渡されません。

ここに私のJavaScriptコードがあります:

if (timesin%2 == 0){
    document.getElementById(score1).disabled = true;
    document.getElementById(score2).disabled = true;
} else {
    document.getElementById(score1).disabled = false;
    document.getElementById(score2).disabled = false;
    document.getElementById(score1).value = "";
    document.getElementById(score2).value = "";
}
timesin++;    

ここでは、交互にクリックするたびに無効または有効にします。おそらくこれを行う最良の方法ではありませんが、ここでは重要な部分ではありません。

これは、ボックスの html コードです。

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."'  maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' />

したがって、無効になっています。ボタンをクリックすると関数が呼び出され、テキストボックスが有効になります。次に、ユーザーは値を入力し、編集ボタンをもう一度クリックして、テキスト ボックスを無効にします。そのため、新しい入力値でテキストボックスを無効にしました。ただし、php を介して値を送信して取得すると、空の変数が取得されます。

何か案は?

ありがとう、

4

4 に答える 4

2
<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."'  maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' />

いくつかの問題があります。1 つは、.$columncount.$inc.$leaguesarray[$numofleagues] です。HTMLではありません。その周りに php タグが必要であり、これらの値をエコーする必要もあります。これは次のようになります。

'columntext<?php echo $columncount.$inc.$leaguesarray[$numofleagues] ?>'

この行と同じこと:

 value = '".$col_value."'

する必要があります

 value = '<?php echo $col_value ?>'

ずっとphpエコー内で準備していない限り、レンダリングされたページに驚いていますか?いずれにせよ、そのビットを明確にすることで、問題の可能性を絞り込むことができます。

于 2012-04-10T19:30:04.067 に答える
0

これは、インラインPHPを使用する誤った方法です。

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."'  maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' />

代わりに、次のようなものを試してください。

<?php

   $id = "columntext".$columncount.$inc.$leaguesarray[$numofleagues];

?>

<input type="textbox" id="<?php echo($id); ?>" name="<?php echo($id); ?>" maxlength="2" value="<?php echo($col_value); ?>">

また、HTML要素内に配置するのではなく、別のCSSファイルを使用してスタイルを保持することを検討する必要があります。それは人生をとても楽にし、あなたのデザインを乾いた状態に保つのを助けます。

于 2012-04-10T19:35:19.263 に答える
0

これがPHPエコーステートメント内にあると仮定して、変更します

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."'  maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' />

<textarea id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."'  maxlength = '2' disabled style = 'width:15px; text-align:center'  />".$col_value."</textarea>

ive never seen <input type = 'textbox'> before
于 2012-04-13T17:07:26.530 に答える
0

私は十分に明確ではありませんが...無効になっている入力は送信されません。編集不可にしたい場合は、readonly = 'readonly'を試してください。ところで、phpコードで何らかの検証を行う必要があります。 JSだけを信用しない

幸運を

于 2012-04-10T19:30:46.727 に答える