ここに私の問題があります。実行したいJavaScriptがいくつかありますが、挿入されるたびに一意である必要があります。それを変更する変数を追加しようとしましたが、最初の呼び出し/表示でのみ変更されます。スクリプトは次のとおりです。
<script type=\"text/javascript\">
function validate_f( )
{
var x=document.forms[\"fill\"][\"textfield\"].value
if (x==null || x==\"\")
{
alert(\"Field cannot be empty\");
return false;
}
}
</script>
実際のフォーム コードは次のとおりです。
echo "<td width=\"10%\">
<form method=\"POST\"action=\"$actual_link\" id=\"fill\" onsubmit=\"return validate_f( );\">
<input type=\"hidden\" value=\"{$data['id']}\" name=\"id\">
<input type=\"text\" size=\"20\" class=\"BUTTON_INPUT\" name=\"url\" value=\"\" id=\"textfield\">
</td>
<td width=\"1%\">
<input type=\"Submit\" class=\"BUTTON_FILL\" name=\"fill\" value=\"\">
</form>
問題は、フォームが異なるリンクで複数回エコーされることですが、スクリプトは最初の 1 回しか機能しません。したがって、私が考えることができる唯一の解決策は、フォームとともに JavaScript をエコーし、スクリプトとフォームの両方で関数名を変更することでした。
私がやろうとしていることが理にかなっていることを願っているので、基本的には "function validate_f( )" & "onsubmit=\"return validate_f( );\"" が各繰り返し/エコーで変更する必要があります..