повторение jquery-анимации с php - PullRequest
1 голос
/ 03 декабря 2010

Я пытаюсь повторить эту функцию jquery с php.в основном, если сценарий обнаруживает, что поле формы не заполнено, он будет отображать это и заставлять текстовое поле ввода становиться красным.

Он отлично работает, когда его не выводят.

echo('
<script type="text/javascript">
    $(document).ready(function() { 
        $(\'input\').animate({backgroundColor:\"#F00\"},200);
    });
</script>
');

есть идеи?

Ответы [ 5 ]

2 голосов
/ 03 декабря 2010

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

1 голос
/ 03 декабря 2010

Вы переутомляете это на побеге.Для простоты просто используйте одинарные кавычки вокруг отображаемой строки и используйте двойные кавычки внутри нее.Что-то вроде:

echo('
<script type="text/javascript">
    $(document).ready(function() { 
        $("input").animate({backgroundColor: "#F00"}, 200);
    });
</script>
');

Когда вы echo заполняете вещи, действительно есть некоторые случаи, когда вам нужно экранировать кавычки, но в большинстве случаев вы можете просто сойти с рук, используя разныетипы цитат.Например, я никогда не пойму, почему люди по-прежнему делают что-то вроде:

echo "<input type=\"text\" name=\"username\">";

, а не

echo '<input type="text" name="username">';

, что делает вашу жизнь намного проще, когда вам нужно изменитьэто.

Надеюсь, это поможет!

0 голосов
/ 03 декабря 2010

Более того: шестнадцатеричное значение цвета не является числовым значением, которое вы можете использовать для animate (). Таким образом, ошибка исправлена ​​удалением обратной косой черты из двойных кавычек, но ваша анимация не показала бы никакого эффекта.

0 голосов
/ 03 декабря 2010

я не проверял это, но попробуйте это:

$nl = "\n";
echo '<script type="text/javascript">'.$nl;
echo '    $(document).ready(function() {'.$nl;
echo '        $("input").animate({backgroundColor:"#F00"},200);'.$nl;
echo '    });'.$nl;
echo '</script>'.$nl;

$ nl = "\ n" только для перевода строки (я предпочитаю использовать одинарные кавычки в echos, поэтому php не нужно было разбиратьсодержание - просто эхо).

0 голосов
/ 03 декабря 2010

Вы не должны использовать \" там, просто "

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