0

現在、職場のトレーニング部門用に動的な印刷可能ドキュメント ジェネレーターを作成しようとしています。私は Javascript だけの知識を得ようとしているので、プロジェクト全体を Javascript/ブラウザサイド スクリプトのままにしておきたいと思います。UI は以下にリンクされています (担当者が 10 人になるまで画像を投稿できません):

私の個人的な Web サイトでホストされています - cgiv.webs.com/Test Platform/Training Plan.png

私が抱えている問題は正規表現にあります。私はJavascriptにはかなり慣れていませんが、Jscript内の正規表現には非常に慣れていません。現在、次の関数を使用して、実行ごとに 3 つの入力テキストを生成および識別しています。

/*Variable Declarations*/

var i1 = 0;
var i2 = 0;

/* ------------------- */


function generateInput()
{

if (i1<15)
{
    i1++;
    var appendSpan = document.getElementById('appendSpan');

    var appendStr = "<div class='row'><input id='text_topic" + i2.toString() + i1.toString() + "' class='text_topic' type='text'/>|<input id='text_instructor" + i2.toString() +  i1.toString() + "' class='text_instructor' type='text'/>|<input id='text_date" + i2.toString() +  i1.toString() + "' class='text_date' type='text'/></div>";

    appendSpan.innerHTML += appendStr;
}
else
{
    alert("Action Cancelled.  Maximum fields reached.");
}

}

i2 変数は入力フィールドが該当するヘッダー番号を示し、i1 変数は各セルが該当する行を示します。次の関数内に正規表現識別子スクリプトを配置して、各セルから値を取得し、「newPage」変数内のそれぞれのターゲット スパンの下に追加したいと思います。

function createPage() 
{
var newPage = "<html><head><title></title>";
newPage += "<link rel='stylesheet' lang='text/css' href='output.css'>";
newPage += "</head><body>";
newPage += "<div class='head'>" + promptVal[0] + "</div><br/>";
newPage += "<span id='hcontent1'></div></span>";

var inputs = document.getElementsByTagName("input");

/*  Uhhh.. Yeah.  This is where I'm lost */

newPage += "</span>";
newPage += "</body></html>";

var j = window.open('')
j.document.write(newPage);
j.document.close();
}  

たとえば、「hcontent1」スパン内のすべての text_(topic,インストラクター,日付)(11-13) を取得できたら、それをフォーマットできます。テキスト フィールドからデータを取得し、別のページの div タグに配置するだけです。

お時間をいただきありがとうございます。

4

1 に答える 1

0

私はそれを考え出した!3日間の検索の後、これは機能しました:

var regex1 = /1/g;

for (var i=0; inputs[i]; i++)
{
    if (inputs[i].id.search(regex1) == 10)
    {
        alert("It worked");
    }

    else if (inputs[i].id.search(regex1) == 15)
    {
        alert("It worked again");
    }

    else if (inputs[i].id.search(regex1) == 9)
    {
        alert("You did it, man");
    }

    else
    {
        alert("Skip this one");
    }
}
于 2013-02-23T00:02:17.913 に答える