jquery
2013-06-07 6 views 1 likes 
1

У меня есть скрипт подтверждения удаления jquery, который вставляет значения в скрытые поля формы и запускает скрипт удаления php.JQuery - неважно, сбросив ведущий ноль, как мне его сохранить?

echo "<a class='delete' href='#' onclick='document.delAccForm.delAcc.value = ". $row['AccountNumber']."; document.delAccForm.delMyID.value = ". $row['MyID']."; document.delAccForm.delAccID.value = ". $row['AccountID'].";'>Delete</a>"; 

форма выглядит следующим образом:

<form method="post" name="myform"> 
    <input type="hidden" name="AccountID" value="<?php echo $out['AccountID']; ?>" /> 
    <input type="hidden" name="MyID" value="<?php echo $out['PropertyID']; ?>" /> 
    <input type="hidden" name="formVar" value=""> 
</form> 

Это все работает отлично, однако некоторые записи не могут быть удалены, и на исследования я обнаружил, что любой номер счета, начиная с 0 усекается до первого числа выше 0. Это либо действие браузера, либо Jquery, рассматривающее число как значение, как заставить его обрабатывать его как строку.

Я пробовал этот формат, но безуспешно, созданный html был довольно перепутан.

<a class='delete' href='#' onclick='document.delAccForm.delAcc.value = '". $row['AccountNumber']."'; document.delAccForm.delMyID.value = '". $row['MyID']."'; document.delAccForm.delAccID.value = '". $row['AccountID']."';'>Delete</a> 
+1

Вы должны использовать двойные кавычки в атрибуте HTML значения – cfs

+0

Что такое 'переменной row' $, где, что, будучи установлено ? – cfs

+0

Это падение, потому что это целое число. Попробуйте сделать его строкой. – SpYk3HH

ответ

3

EDIT

Я думаю, я понимаю вашу проблему лучше. У вас есть HTML-ссылки, созданные PHP, и вы хотите иметь возможность обновлять значения скрытой формы HTML на основе значений, специфичных для этой ссылки. Затем вы хотите отправить форму, когда эта ссылка будет нажата, чтобы выполнить обработку на стороне сервера. Ведущие 0 обрезаются, когда вы устанавливаете значения формы, поэтому вопрос заключается в том, как предотвратить это.

HTML + PHP

Использование пользовательских data атрибуты для создания ваших якорей так:

echo '<a class="delete" href="#" data-account-number="'.$row['AccountNumber'].'" data-account-id="'.$row['AccountId'].'" data-my-id="'.$row['MyId'].'">Delete</a>';

JQuery/JavaScript

Затем используйте эту JQuery, чтобы прикрепить клик для всех delete якорей. Обратите внимание, что я использую функцию attr(), а не data(). data() попытается интерпретировать тип данных и бросить его для вас, в этом случае лидирует ваши идентификаторы как числа и обрезает ведущие 0. Использование attr обеспечит вас работает со строками:

$(function() { 
    $('a.delete').on('click', function(e) { 
     var that = $(this); 

     $('#delAcc').val(that.attr('data-account-number')); 
     $('#delMyID').val(that.attr('data-my-id')); 
     $('#delAccID').val(that.attr('data-account-id')); 

     $('form[name="myform"]').submit(); 
    }); 
}); 

http://api.jquery.com/jQuery.data/

http://api.jquery.com/attr/

+0

Я вижу, что вы пытаетесь сделать, но я отвлекаю список учетных записей в php и перекликающихся переменных на страницу, которые затем передаются в форму jquery, чтобы помочь с выбором учетной записи, нет способа, которым я могу сделать строку преобразование inline с событием onclick? – Funk247

+0

@ Funk247 Если проблема в том, как PHP повторяет числа, не имеет значения, что вы делаете в javascript. – cfs

+0

Нет, цифры не соответствуют действительности PHP, когда форма возвращает их из JQuery, что лидирует 0, поэтому, когда я отправляю форму обработчику удаления, запрос выходит из строя. Я уверен, что либо JQuery, либо браузер лишают ведущее значение 0, потому что значение является целым числом, когда оно должно быть строкой. – Funk247

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