javascript неопределенная ошибка от переключателя ввода формы - PullRequest
2 голосов
/ 05 августа 2010

У меня есть всплывающее окно, в котором перечислены изображения с помощью формы и переключателей.

Когда я нажимаю переключатель, вызывается функция, которая должна вернуться в родительское окно.

Я продолжаю получать 'undefined' как значение, которое означает для меня, что переменная не была установлена.

Как мне обойти эту ошибку?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
<script type="text/javascript">
<!-- Begin
function sendValue (s){
var selvalue = s.value;
//window.opener.document.getElementById('details').value = selvalue;
//window.close();

alert(selvalue);
}
//  End -->
</script>
<form name="selectform">

<?php

    // Define the full path to your folder from root

    $path = "../../images/news/";

    // Open the folder
    $dir_handle = @opendir($path) or die("Unable to open $path");

    // Loop through the files
    while ($file = readdir($dir_handle)) {
        if($file == "." || $file == ".." || $file == "index.php" )
            continue;
        $myfile = $file;
        echo '<input type="radio" name="details" value="'.$myfile.'" onClick="sendValue(this.form.details);" />'.$file.'<br />';
    }

    // Close
    closedir($dir_handle);
?>
</form>
</body>
</html>

1 Ответ

1 голос
/ 05 августа 2010

Почему бы просто не отправить значение переключателя непосредственно в функцию, а не полную ссылку переключателя:

HTML

<input type="radio" name="details" value="1" onClick="sendValue(this.value);" />
<input type="radio" name="details" value="2" onClick="sendValue(this.value);" />

Javascript

function sendValue(val){
   alert(val);  
   if(window.opener && !window.opener.closed) {
      // do something with the parent window
   }
}

В действие здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...