В настоящее время я работаю с редакторами wmd и вкладками jQuery-UI. Я создал функцию ajax / js, которая будет отправлять (когда будет нажата следующая кнопка) значение wmd-preview
а затем php повторить результат на вкладке 2. Проблема в том, что я не получаю никаких результатов. Я не ищу значение textarea
но значение div #wmd-preview
. Как я могу показать значение div wmd-preview
через мою функцию ajax /?
JS
<script> $(function () { var $tabs = $('#tabs').tabs({ disabled: [0, 1], select: function () { $.ajax({ type: "POST", url: "post_tabs.php", data: { "wmd": $("#wmd-preview").val(), }, success: function (result) { $("#tab-2").html(result); } }); } }); $(".ui-tabs-panel").each(function (i) { var totalSize = $(".ui-tabs-panel").size() - 1; if (i != totalSize) { next = i + 2; $(this).append("<a href='#' class='next-tab mover' rel='" + next + "'>Next Page »</a>"); } if (i != 0) { prev = i; $(this).append("<a href='#' class='prev-tab mover' rel='" + prev + "'>« Prev Page</a>"); } }); $('.next-tab').click(function () { var currentTab = $('#tabs').tabs('option', 'selected'); if ( ( currentTab == 0 && /*(B)*/ $.trim($('#wmd-input').val()).length > 0 ) ) { var tabIndex = $(this).attr("rel"); $tabs.tabs('enable', tabIndex).tabs('select', tabIndex).tabs("option", "disabled", [0, 1]); } else { switch (currentTab) { case 0: alert('Please fill out all the required fields.', 'Alert Dialog'); break; } } console.log("preventing default"); return false; }); $('.prev-tab').click(function () { var tabIndex = $(this).attr("rel"); $tabs.tabs('enable', tabIndex).tabs('select', tabIndex).tabs("option", "disabled", [0, 1]); return false; }); }); </script>
PHP
<? if (isset($_POST['wmd'])){ $wmd = $_POST['wmd']; echo ('<div id="text_result"><span class="resultval"><h2>Textarea Echo result:</h2>'.$wmd.'</span></div>'); } ?>
HTML
<div id="tab-1" class="ui-tabs-panel ui-tabs-hide"> <div id="wmd-button-bar"></div> <textarea id="wmd-input" name="wmd-input" cols="92" rows="15" tabindex="6"></textarea> <div id="wmd-preview"></div> </div> <div id="tab-2" class="ui-tabs-panel ui-tabs-hide"> </div>
PHP-код должен начинаться с <?php
, ваш начинается с <?
что неверно.
Когда вы видите PHP-код, представленный как текст, он должен сказать вам, что он не работает, поэтому вы продолжаете получать выходные данные, например '.$wmd.''); } ?>
'.$wmd.''); } ?>
вместо реального выхода эха PHP.
Другой комментарий по-прежнему стоит: вы должны либо использовать $("#wmd-preview").html()
или $("#wmd-input").val()
но вы не можете использовать val
в divs, это не Работа.
В этом сценарии $("#wmd-input").val()
– лучший выбор, потому что это причина, по которой существуют поля input
– для ввода.
Дайте мне знать, есть ли еще вопросы, с которыми я могу помочь.