Подтвердить что ты не робот

Предупредить значение переменной

Как отобразить значение переменной в javascript в поле предупреждения?

Например, у меня есть переменная x = 100, а alert (x) не работает.

script, используемый в жирной обезьяне, находится здесь

var inputs = document.getElementsByTagName('input');

var new;
for (i=0; i<inputs.length; i++) {
  if (inputs[i].getAttribute("name") == "ans") {   
new=inputs[i].getAttribute("value"));

alert(new)

  }
}
4b9b3361

Ответ 1

Несколько вещей:

  • Вы не можете использовать new как имя переменной, это зарезервированное слово.
  • В элементах input вы можете просто использовать свойство value напрямую, вам не нужно проходить через getAttribute. Атрибут "отражен" как свойство.
  • То же самое для name.

Итак:

var inputs, input, newValue, i;

inputs = document.getElementsByTagName('input');
for (i=0; i<inputs.length; i++) {
    input = inputs[i];
    if (input.name == "ans") {   
        newValue = input.value;
        alert(newValue);
    }
}

Ответ 2

Обратите внимание: в то время как приведенные выше ответы верны, если вы хотите, вы можете сделать что-то вроде:

alert("The variable named x1 has value:  " + x1);

Ответ 3

Если вы используете greasemonkey, возможно, страница еще не готова для javascript. Вам может потребоваться использовать window.onReady.

var inputs;

function doThisWhenReady() {
    inputs = document.getElementsByTagName('input');

    //Other code here...
}

window.onReady = doThisWhenReady;

Ответ 4

var input_val=document.getElementById('my_variable');for (i=0; i<input_val.length; i++) {
xx = input_val[i];``
if (xx.name == "ans") {   
    new = xx.value;
    alert(new);    }}

Ответ 5

показать окно предупреждения с использованием переменной с сообщением

<script>
$(document).ready(function() {
var total = 30 ;
alert("your total is :"+ total +"rs");
});
</script>

Ответ 6

Если я правильно понимаю ваш вопрос и код, я хочу сначала упомянуть три вещи перед тем, как поделиться своим кодом/версией решения. Во-первых, для name и value вам, вероятно, не следует использовать метод getAttribute(), потому что они сами являются свойствами (переменной с именем) inputs (при заданном индексе i). Во-вторых, переменная, которую вы пытаетесь оповестить, является одной из нескольких частей терминов в JavaScript, которые обозначаются как "зарезервированные ключевые слова" или просто "зарезервированные слова". Как вы можете видеть в/в этом списке (по ссылке), new явно зарезервированное слово в JS и никогда не должно использоваться как имя переменной. Для получения дополнительной информации просто зарезервированные слова Google в JavaScript. В-третьих, и, наконец, в самом заявлении о предупреждении вы пренебрегли включением точки с запятой. Одному и тому же иногда может быть достаточно, чтобы ваш код не работал, как ожидалось. [Кроме того: я не говорю это как совет, а скорее как наблюдение: JavaScript почти всегда прощает и позволяет иметь слишком много и/или ненужных точек с запятой, но, как правило, JavaScript также одинаково, если не более беспощаден, если/когда отсутствует (любой из ) необходимые, требуемые точки с запятой. Поэтому наилучшей практикой является, конечно, добавление точек с запятой только во всех необходимых точках и исключение их во всех других обстоятельствах. Но практически говоря, если у вас есть сомнения, это, вероятно, не повредит, добавив/включив дополнительный, но будет больно, игнорируя обязательный. Общие правила - это все объявления и назначения, заканчивающиеся точкой с запятой (такие как назначения переменных, предупреждения, инструкции console.log и т.д.), Но большинство/все выражения не такие (например, для циклов, а циклы, выражения функций Just Saying.] Но Я отвлекся.

    function whenWindowIsReady() {
        var inputs = document.getElementsByTagName('input');
        var lengthOfInputs = inputs.length; // this is for optimization
        for (var i = 0; i < lengthOfInputs; i++) {
            if (inputs[i].name === "ans") {   
                var ansIsName = inputs[i].value;
                alert(ansIsName);
            }
        }
    }

    window.onReady = whenWindowIsReady();

PS: Вы использовали оператор двойного присваивания в своем условном выражении, и в этом случае это не имеет значения, поскольку вы сравниваете строки, но, как правило, я считаю, что оператор тройного присваивания является способом перехода и более точным, поскольку будет проверять, являются ли значения EQUIVALENT WITHOUT TREPE CONVERSION, что может быть очень важным для других случаев сравнений, поэтому важно указать. Например, 1 == "1" и 0 == false являются истинными (когда обычно вы хотите, чтобы те возвращали false, так как значение слева было не таким же, как значение справа, без преобразования типа), но 1 === "1" и 0 === false являются ложными, как вы ожидали бы, потому что тройной оператор не полагается на преобразование типов при сравнении. Имейте это в виду на будущее.