2016-03-02 3 views
0

У меня есть файл Excel, который показывает таблицу, в которой пользователь меняет значение поля. Когда это значение изменяет значение другого поля изменяется автоматически, поскольку она имеет следующую формулу:Ввод и вывод HTML

row 26 =IF(DWT<40000,11500,(11500+(0.2*(DWT-40000)))). 

Я хочу опубликовать, что Excel файла в Интернете, но не теряет свою интерактивность. Пытался сохранить его как HTML, но не повезло, никакой интерактивности не было сохранено, просто статический HTML. Я решил создать его с помощью Notepad ++ (HTML).

Теперь я застрял в этом пункте: я хочу, чтобы пользователь вводил значение в «1», а затем нажмите «ОК», и результат появится в «2».

Вот код, который я написал до сих пор:

Пользователь вводит значение в 1:

<td class=xl6612603>Dwt:</td> 
<td class=xl6512603> 
    <form id="numform" oninput="x.value=parseInt(a.value)"> 
     <input type="number" id="a" step="any" value="a<40000,11500,(11500+(0.2*(a-40000)))"> 
     <input type="submit" value="OK"> 
     <b>Enter value and press "OK"</b> 
    </form> 
</td> 

Результат появляется в 2:

<td rowspan=2 class=xl10112603 width=97 style='border-top:none;width:73pt'> 
    <output form="numform" name="x" for="a"></output> 
</td> 

Где a является «DWT », поскольку это касается математической формулы, которую я написал выше.

Приведенный выше код дает мне следующее: когда пользователь вводит значение в «1», одно и то же значение появляется в «2» автоматически. Я не хватает некоторых вещей здесь ...

приложил изображение Shows what I want to do

UPDATE: Проблема решена, но застрял где-то в другом месте.

Итак, я хочу, чтобы пользователь вводил значение в поле «4», а результат появлялся в поле «5» и поле «6».

поле «5» имеет следующую формулу: поле «4» * 0,1

поле «6» имеет другое одно: поле «4» * 0,05

Это код, который я написал для поля «5», но он не работает, хотя я положил его внутри:

<body> 
<script> 
    window.formula = function (val1) { 
    var b = parseInt(val1); 
    var c = 0.1; 
    var d = b * c; 
    return d; 
} 

</script> 

Это код, который я написал для поля «4»:

<td class=xl6612603>Gross Tonnage:</td> 
<td class=xl6512603><form id="numform" oninput="y.value=formula(b.value)"> <input type="number" id="b" step="any"><input type="submit" value="OK"><b> Enter value and press "OK"</b></form></td> 

Это код, который я написал для поля «5»:

<td rowspan=2 class=xl10112603 width=97 style='border-top:none;width:73pt'><output form="numform" name="y" for="b"></td> 

Вот еще один рис, который показывает, что я хочу сделать

What I want to do

+0

«Я хочу создать Excel на веб-странице», я не уверен, что вы знаете, как это безумие ... :) – NDM

+0

Я все еще ищу часть php в вопросе. –

+0

Это второй раз, когда я использую этот сайт, поэтому дайте мне подсказку, если я сделаю некоторые ошибки ;-) –

ответ

0

Javascript не понимает формул Excel. Вы должны преобразовать a<40000,11500,(11500+(0.2*(a-40000))) к эквивалентному JavaScript

Предполагая, что я понял формулу Excel, следующий JSFiddle следует сделать трюк.

+0

Это сработало !!! Огромное спасибо!!! Могу ли я задать последний вопрос: если пользователь хочет ввести другие типы чисел, кроме целых чисел, есть ли способ сделать это? Что-то вроде: 150,25, например –

+0

Я скопировал и вставил код, чтобы тот же результат появился в ячейке прямо рядом с «2», но не отображается «2». –

+0

@Nick P Для десятичных знаков используйте период (.) вместо запятой. Oninput - важная вещь, это означает, что она обновляет ячейку (вывод будет точным) с именем x. – Beep

Смежные вопросы