1

私は自分のウェブサイトのアップロードセクションに取り組んでいます。ユーザーが新しいアプリケーションをアップロードしたい場合、バージョン番号などを記入するフォームに記入する必要があります。

アップロードできるアプリケーションは 27 種類あります。そのために、whileループを作成しました

例:

<select id="type">
<option value="choose" selected>choose here</option>
<?php

require("Function/applist.php");
while($showtablerow = mysql_fetch_array($showtablequery_result))
{
echo "<option value=".$showtablerow[0].">".$showtablerow[0]."</option>";
}

?>  
</select>   
</div>
<div id="choose" class="add" style="display:none;"></div>


<?php

require("Function/applist.php");
while($showtablerow = mysql_fetch_array($showtablequery_result))
{

    echo "<div class='add' id=".$showtablerow[0]." style='display:none;'><h2 id='amx-label'>".$showtablerow[0]."</h2>
    <div id='formadd' style='opacity:1;'>

    <form name='addamx' id='addamx' method='post'>

        <div id='version' class='uploadform' style='opacity:1;'>
            Version: <input style='opacity:1;' required type='text' name='versie' id='versie' width='3' onchange='process1()' ><br>

        </div>
        <div id='date' class='uploadform' style='opacity:1;'>
            Release Date(yyyy-mm-dd): <input required type='date' style='opacity:1;' size='10' maxlength='10' name='date'  id='date'>

        </div>
    <div id='build' style='opacity:1;'>
            Build By: <input required type='text' style='opacity:1;' size='5' maxlength='25' name='build'  id='build' >


        </div>
        <div id='platform' style='opacity:1;'>
            Platform: <span>32 Bit:</span><input required type='radio' style='opacity:1;' id='platform'  name='platform' value='32bit'>
                  <span>64 Bit:</span><input required type='radio' style='opacity:1;' id='platform'  name='platform' value='63bit'>
        </div>
        <div id='application'>
        <input type='hidden' name='app' value=".$showtablerow[0]." />
        </div>  
        <div id='notes' style='opacity:1;'>
            Release Notes: <textarea id='notess' name='test' onblur='process1()'></textarea>
        </div>

        <div id='uploadfooter' style='opacity:1;'>
            <button type='submit' id='uploadamx' name='uploadamx'>Upload
        </div>  
    </form>


    </div>



</div>";
}
?>

選択ボックスで、アップロードするアプリケーションを選択し、その選択に応じてフォームを取得します。

テキスト領域には、リリース ノートを記述します。

バージョン番号を自動的に入力すると、そのバージョン番号がテキスト領域に入力されるようにしたいと思います。

私は次のJavaScriptでちょっとした作業をしました:

function process1() {
var appname = document.getElementById('type').value;
var version = document.getElementById('versie').value;
var textvalue = "changes for " + appname + " version " + version;

document.getElementById("notess").value = textvalue;

}

関数は最初のフォーム div でのみ機能します。2 番目の div で試してみると、textarea は空のままで、2 番目の div のバージョン番号が最初の div の textarea に挿入されます。

テキストエリアにそのフォームのバージョン番号のみが入力されるように関数を作成するにはどうすればよいですか? 何か案は?

編集***

AboQutish が優れたスタートアップであったため、必要な唯一の調整は次のとおりでした: onblur='process1(".$showtablerow[0].")' 結果は onblur='process1(argument)' でしたonblur='process1('argument')' が必要だったのは、while ループ内にあるためです。'' を入れることはできませんでした。なぜなら、onblur 全体が壊れてしまうからです。ascii テーブルを教えてくれた私の大学のおかげです。

onblur=process1('".$showtablerow[0]."') に変更しました

(ASCII の最後にある ; を削除しないと、ここに適切に表示されません)

4

1 に答える 1

0

php で次のように、テキスト領域ごとに異なる ID を指定する必要があります。

    <div id='notes' style='opacity:1;'>
        Release Notes: <textarea id='notess_".$showtablerow[0]." name='test' onblur='process1(".$showtablerow[0].")'></textarea>
    </div>

そしてjsで

    function process1(appId) {
     var appname = document.getElementById('type').value;
     var version = document.getElementById('versie').value;
     var textvalue = "changes for " + appname + " version " + version;

    document.getElementById("notess_"+appId).value = textvalue;
}

それがあなたが必要としているものだと思います

于 2012-09-19T06:18:27.613 に答える