0

編集済み:コードを次のように変更し、「NaN」エラーが発生しました! 誰かがそれが何であるかについての手がかりと解決するためのヒントを教えてもらえますか? ありがとう。


誰かがこのコードの何が問題なのか教えてもらえますか?

  1. まず、PHP 内で Javascript を呼び出しましたが、本当に可能ですか?
  2. 2 番目のアラートを呼び出した方法に問題はありますか? (php内でjsを使用できるかどうかにかかわらず)テキスト入力とアラートメッセージで選択されたオプションを表示することを意味しました。
  3. ループの最後の中かっこの後に「行末」(;) を付ける必要がありますか?

コードは次のとおりです。

<?php
$con=mysql_connect('localhost','root') or die ("Server connection failure!");
$db=mysql_select_db('regional_data',$con) or die ("Couldn't connect the database");
$SQL="SELECT sbstart, sbend FROM newchk";
$run=mysql_query($SQL,$con) or die ("SQL Error");
$nor=mysql_num_rows($run);
?>
<!DOCTYPE html>
<html>
<head><title></title>
<script type="text/javascript">
function ValidateData() {
var TextIn = document.getElementById('txtN');
    if(TextIn.value == ""){
        alert ("Text field is empty"); 
        return false;
    }else{
        var TextIn = document.getElementById('options');
        alert (<?php $i ?> + TextIn.value);
    }
}
</script>
</head>
<body>
<form onsubmit="return ValidateData()" method="POST">
<select STYLE='width:90px'><?php
while ($rec = mysql_fetch_array($run))
{
    for($i=$rec['sbstart']; $i<=$rec['sbend']; $i++)
    {
        echo "<option id='options' value=''.$i.''>$i<br></option>";
    }
}
?>
</select>
<input type="text" name="txtN">
<input type="submit" name="subN" value="Save">
</form>

</body>
</html> 
4

2 に答える 2

0

フォームの詳細をで渡す必要がありonsubmitます。選択には名前がありません。オプションに名前を付けることはできません。選択ボックスに名前を付ける必要があります。

<form onsubmit="return ValidateData(this)" method="POST">
<select STYLE='width:90px' name='options'><?php
while ($rec = mysql_fetch_array($run))
{
    for($i=$rec['sbstart']; $i<=$rec['sbend']; $i++)
    {
        echo "<option value='$i'>$i<br></option>";
    }
}
?>
</select>
<input type="text" name="txtN">
<input type="submit" name="subN" value="Save">
</form>

とあなたの機能:

<script type="text/javascript">
function ValidateData(form) {
    if(form.txtN.value == ""){
        alert ("Text field is empty"); 
        return false;
    } else {
        alert (form.options[form.options.selectedIndex].value + form.txtN.value);
    }
}
</script>
于 2012-09-09T15:22:41.300 に答える
0

これを試して:

alert (<?php echo $i; ?> + TextIn.value);

現在記述されているコードの方法は、次のように出力されます。

alert ( + TextIn.value);

...これは無効なJSです。

于 2012-09-09T15:22:43.513 に答える