Как изменить ввод формы php на число с помощью JavaScript и?

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

URL моего веб-сайта: http://loganf.tynken.com. Моя цель состоит в том, чтобы пользователь вводил число в форму, чтобы это число стало строкой в ​​теге <h4> и использовалось JavaScript, чтобы взять строку, сделать ее числом, а затем использовать дополнительный код для отображения двоичное число на экране.

У меня проблемы с введением строки в число.

Показанный здесь код JavaScript теперь является моим финальным продуктом, но это способ попытаться заставить число появиться.

    var base10, base2, v2_0, v2_1, v2_2, v2_3, v2_4, v2_5, v2_6, v2_7,
    v2_8, v2_9, v2_10, v2_11, v2_12;
    base10 = document.getElementById('base10');
    base2 = document.getElementById('base2');
    v2_0 = 1;
    v2_1 = 2;
    v2_2 = 4;
    v2_3 = 8;

    function assignvarbinaryvalue() {
    var binaryNumber = Number(base10);
    var newEl = document.createElement('h4');
    var newText = document.createTextNode(binaryNumber);
    newEl.appendChild(newText);
    var position = document.getElementById('binaryID');
    position.appendChild(newEl);
    }
<h1>Binary Translator</h1>
<p><div id = "base10"><?php echo $_GET['base10']; ?></div><p id = "binaryID"></p></p>

Я мог бы возразить по многим вещам. Однако я предлагаю вам немного упростить ситуацию, например, может быть, для начала нужно перейти только с 2 до 4-го. Разбейте его и посмотрите, в чем вы ошибаетесь. Вы пользуетесь инструментами разработчика Chrome и ищите в консоли какие-либо ошибки?

Dexygen 28.10.2018 01:00

Не связано, но почему у вас h4, идущий после h1? Не используйте заголовки из-за того, как они отображают шрифт, используйте их, потому что вам нужны разделы определенного ранга.

Scott Marcus 28.10.2018 01:22

Я не использую хром. Спасибо за совет по упрощению вещей.

Logan Foster 28.10.2018 01:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
39
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы хотите преобразовать строку в число, вы можете просто использовать функцию javascript

parseInt()

Это тоже ничего не изменило. Тем не менее, спасибо за вашу помощь.

Logan Foster 28.10.2018 01:08

Вы не получаете значение:

var base10, base2, v2_0, v2_1, v2_2, v2_3, v2_4, v2_5, v2_6, v2_7, v2_8, v2_9, v2_10, v2_11, v2_12;
base10 = document.getElementById('base10');
base2 = document.getElementById('base2');
v2_0 = 1;
v2_1 = 2;
v2_2 = 4;
v2_3 = 8;
v2_4 = 16;
//v2_5 = 32;
//v2_6 = 64;
//v2_7 = 128;
//v2_8 = 256;
//v2_9 = 512;
//v2_10 = 1024;
//v2_11 = 2084;
//v2_12 = 4096;

function assignvarbinaryvalue() {
    var binaryNumber = parseInt(base10.innerHTML);
    var newEl = document.createElement('h4');
    var newText = document.createTextNode(binaryNumber);
    newEl.appendChild(newText);
    var position = document.getElementById('binaryID');
    position.appendChild(newEl);
}
assignvarbinaryvalue()

Это все еще не работает. Как вы думаете, может быть другая проблема? Спасибо!

Logan Foster 28.10.2018 01:08

Также я видел вашу демонстрацию - вы тоже не вызываете свою функцию. Обновленный ответ с полным кодом.

cyberwombat 28.10.2018 01:51

Ой. Извините. Это все еще не действует.

Logan Foster 28.10.2018 02:12
Ответ принят как подходящий

var base10 = document.getElementById('base10');
var base2 = document.getElementById('base2');
document.getElementById('submit').onclick=function() {

var number=parseInt(base10.value);
 base2.value=decimalToBinary(number);
  
}

function decimalToBinary(n){
    var binaryNumberStr = "";
    var binaryNumber=0;
    var step=0;

    while (Math.pow(2, step)<n)
    {
       step+=1;
    }
    for(var i=step; i>=0; i--){
    
    var c=Math.floor(n/Math.pow(2, i))
   
    n-=Math.pow(2, i)*c;
    binaryNumber+=Math.pow(2, i)*c;
    binaryNumberStr+=c;
    }
    //binaryNumberStr+=(n-binaryNumber)
    return binaryNumberStr;
}
<p>Number:</p>
		<input type = "text" id = "base10" name = "base10" size = "15" maxlength = "30">
		<input type = "submit" id = "submit" name = "submit" value = "submit">
		<input type = "text" id = "base2" name = "base2" disabled size = "15" maxlength = "30">

Другие вопросы по теме