Передача динамического ввода текста в ссылку через JavaScript - PullRequest
0 голосов
/ 19 августа 2011

Так что я занимался этим часами и не понял этого, и я знаю, что есть простое решение, поэтому я решил спросить здесь. Я пытаюсь передать значение текстовой области в ссылку как часть кнопки «Поделиться» в твиттере. Я думаю, что проблема в глобальных областях, я могу получить переменную из моего внешнего javascript, но не из моего основного файла php. Например.

Вот HTML:

   <div id="share_twitter">
    Friends Twitter Username (optional) <input type="text" name="friends_twitter" value="@" />
<script type="text/javascript"> 
       window.document.write('<a href="http://twitter.com/share?text='+window.twitter_text+'&url=http://example.com/<?php echo $slug;?>" class="twitter-share-button"></a>'); 
</script>

Затем у меня есть Javascript в extenral.js, который должен получить значение "friends_twitter" и отправить его обратно на главную страницу, что позволит мне создать динамическую ссылку на этот твиттер.

Я попробовал это var friends_twitter_input = $("input[name=friends_twitter]");, но получил undefined, если я сделаю window.friends_twitter_input = $("input[name=friends_twitter]");, это работает немного лучше, но все же не так, как предполагалось.

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

Возможно, я все делаю неправильно, но, похоже, я не могу этого понять. Anyhelp было бы здорово.

Обновление

Я получаю сообщение об ошибке "friends_twitter_input не определен" в firebug, но не уверен, почему

внутри custom.js

$(document).ready(function(){
var friends_twitter_input = $("input[name=friends_twitter]").val();
    $(".twitter-share-button").click(function() {
            var friends_twitter_input = $('input[name=friends_twitter]').val();

    });
}

внутри index.php

<script type="text/javascript"> 
    window.document.write('<a href="http://twitter.com/share?text='+friends_twitter_input+'&url=http://example.com/<?php echo $slug;?>" class="twitter-share-button"></a>');
 </script>

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

Спасибо за помощь.

1 Ответ

1 голос
/ 19 августа 2011

Не совсем уверен в структуре всего вашего кода, но несколько вещей, которые могут помочь.

Чтобы получить значение с помощью кнопки ввода, вам нужен код.

var friends_twitter_input = $("input[name=friends_twitter]").val();

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

Чтобы выполнить свой javascript после загрузки страницы, используйте:

$(document).ready(function() {
  //All your javascript here.
});

Чтобы подключиться к событию oncahnge входного текста, сделайте это (внутри обработчика готовности)

$("input[name=friends_twitter]").onchange(function() {
     var friends_twitter_input = $(this).val();
});

Обратите внимание, что код в событии onchange предназначен только для демонстрационных целей. Возможно, вы захотите использовать onblur или лучше подключить событие onclick кнопки отправки.

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