"> "> " />

кнопка загрузки запускает функцию, которая не должна запускаться

Internet Explorer дает мне большие проблемы с кнопкой загрузки, которую я связал с вводом файла.

Ниже приведена функция, в которой он обрабатывает обычную кнопку отправки:

<script type="text/javascript">                 
   $(function() {
      myClickHandler=function(e){
        if (!validation())
            return false;    
        if (!confirm("Are you sure you want to Proceed?" + "\n" ))
            return false;    
        return true;
    };  
    $('#QandA').submit(myClickHandler);
});

</script>

Ниже я покажу, как файл imageupload добавляется в таблицу, которая находится в форме #QandA :

JQuery:

function insertQuestion(form) { 
    var $image = $("<td class='image'></td>"); 
    var $fileImage = $("<form action='imageupload.php' method='post' 
                    enctype='multipart/form-data' target='upload_target_image'
                    onsubmit='return imageClickHandler(this);' 
                    class='imageuploadform' >" +
                    "Image File: <input name='fileImage' type='file' 
                    class='fileImage' />

</form>"); $image.append($fileImage); $tr.append($image); }

HTML (форма #QandA):

   <form id="QandA" action="<?php echo htmlentities($action); ?>" method="post">

//Below is button where when clicked, it will append the image upload form into the table

<table id="questionBtn" align="center">
<tr>
<th>
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" onClick="insertQuestion(this.form)" />
</th>
</tr>
</table>

//image upload form is appended into table below:

<table id="qandatbl" align="center" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
    <th class="image">Image</th>
</tr>
</thead>
</table>
<div id="qandatbl_onthefly_container">
<table id="qandatbl_onthefly" align="center" cellpadding="0" cellspacing="0" border="0">
<tbody>
</tbody>
</table>

    

<input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" />

</form>

As mentioned the image upload form is appended into the #QandA from and I believe because of this it is causing the problem of the myClickHandler=function(e) being triggered when the "Upload" button is clicked on even though it should not trigger that function at all. Only the "Submit Details" button in the top form should trigger the myClickHandler() function.

So my question is possibly what do I need to change in order for only the Submit Details button to trigger the myClickHandler() function?

UPDATE:

var $video = $("<td class='video'></td>"); 
var $fileVideo = $("<form action='videoupload.php' method='post' 
                enctype='multipart/form-data' target='upload_target_video'
                onsubmit='return videoClickHandler(this);' 
                class='videouploadform' >" +
                "Video File: <input name='fileVideo' type='file' 
                class='fileVideo' />

</form>"); $video.append($fileVideo); $tr.append($video); var $audio = $("<td class='audio'></td>"); var $fileAudio = $("<form action='audioupload.php' method='post' enctype='multipart/form-data' target='upload_target_audio' onsubmit='return audioClickHandler(this);' class='audiouploadform' >" + "Audio File: <input name='fileAudio' type='file' class='fileAudio' />

</form>"); $audio.append($fileAudio); $tr.append($audio);
0
nl ja de

1 ответы

Возможно, попробуйте click() :

$('#addQuestionBtn').click(function() { 
    insertQuestion(); 
    return false; 
});

Чтобы отключить любую другую кнопку, просто используйте:

$('.sbtnvideo, .any, .other, #element').click(function() {
    return false;
});

Вы также можете попробовать отличный плагин формы jQuery .

0
добавлено
Попробуйте добавить $ ('# addQuestionBtn'). Click (function() {insertForm (); return false;}); Но это выстрел.
добавлено автор Tomek Buszewski, источник
Я сделал ошибку, ха :) Не insertForm() , но insertQuestion() , ваша функция. О вашем обновлении, я не уверен, что понимаю, но если вы хотите сделать то же самое, вы можете просто пойти с $ ('. Audiouploadform'). Click ... .
добавлено автор Tomek Buszewski, источник
Они имеют тип submit , поэтому они отправляют форму - она ​​работает так, как должна. $ ('. sbtnaudio, .sbtnvideo'). click (function() {return false;}); должен сделать трюк.
добавлено автор Tomek Buszewski, источник
Конечно, спасибо, что напомнили мне это;)
добавлено автор Tomek Buszewski, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing