Приходится дважды щелкнуть, чтобы отправить форму в IE8 - PullRequest
0 голосов
/ 11 июня 2010

Очень своеобразная ошибка в простой HTML-форме. После изменения параметра необходимо дважды нажать кнопку, чтобы отправить форму. Кнопка фокусируется после одного нажатия, но форма не отправляется. Это только так в IE8 и отлично работает в Chrome и FF.

ОБРАТИТЕ ВНИМАНИЕ 'g ^' прямо перед <select>. Это должна быть буква или цифра, за которой следует символ, чтобы сгенерировать эту ошибку. Например, 'a #', 'f $', '3 (' создают одну и ту же ошибку. В противном случае она работает нормально. Кстати, если вы сразу не измените параметр и не нажмете кнопку, ошибки не будет.

Очень странно, а?

<form method="post" action="match.php">
g^
<select>
<option>Select</option>
<option>English</option>
<option>French</option>
</select>

<input type="submit" value="Go" />
</form>

1 Ответ

0 голосов
/ 11 июня 2010

Я предоставляю код здесь, который работает нормально. Проверьте этот код, не является ли этот код также проблемой.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> Sample page for language selection </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css">
    p{display: none;}
</style>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        // language as an array
        var language = ['Arabic', 'Cantonese', 'Chinese', 'English', 'French', 'German', 'Greek', 'Hebrew', 'Hindi', 'Italian', 'Japanese', 'Korean', 'Malay', 'Polish', 'Portuguese', 'Russian', 'Spanish', 'Thai', 'Turkish', 'Urdu', 'Vietnamese'];

        $('#muyu').append('<option value=0>Select</option>');

        //loop through array
        for (i in language)  //js unique statement for iterate array
        { 

        $('#muyu').append($('<option>', { id: 'muyu' + i, val: language[i], html: language[i] })) }

        $('form').submit(function() {
            // alert('I am being called!');  // check if submit event is triggered
            if ($('#muyu').val() == 0) { $('#muyu_error').show(); } else { $('#muyu_error').hide(); return true; }
            return false;
        });
    })
</script>
</head>

<body>
    <form method="post" action="PostProb">
        I am fluent in <select name='muyu' id='muyu'></select>
        <p id='muyu_error'>Tell us your native language</p>
        <input type="submit" value="Go"/>
    </form>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...